Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] sprintf i zaokraglanie
boya
post
Post #1





Grupa: Zarejestrowani
Postów: 287
Pomógł: 0
Dołączył: 26.02.2003
Skąd: Ow/Pn

Ostrzeżenie: (0%)
-----


Witam sprintf zaokragla mi dane ktore mu zapodam... kombinowalem ale nic nie pomaga

  1. <?php
  2. $cena_netto = sprintf("%01.2f",$cena * 1.22);
  3. return $cena_netto;
  4. ?>


i np z 19.99 robi 20.00 :/ moze ktos wie jak to rozwiazac ?


--------------------
Reklamowa Oklejanie Samochodów: oklejanie pojazdów / tel. 62 597 74 48
Go to the top of the page
+Quote Post
qwaq
post
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 1
Dołączył: 15.05.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Cytat(boya @ 19.07.2007, 17:05:20 ) *
Witam sprintf zaokragla mi dane ktore mu zapodam... kombinowalem ale nic nie pomaga

  1. <?php
  2. $cena_netto = sprintf("%01.2f",$cena * 1.22);
  3. return $cena_netto;
  4. ?>


i np z 19.99 robi 20.00 :/ moze ktos wie jak to rozwiazac ?


o wiele łatwiej by było gdybyśmy wiedzieli co chcesz osiągnąć


--------------------
Chcę kobietę!!! Cierpliwą i wyrozumiałą jak stado bydła przed dojeniem.....

Życie jest jak papier toaletowy-długie, szare i do dupy, ale na szczęście czasem pachnie rumiankiem


wynajmę mieszkanie?
Go to the top of the page
+Quote Post
matematyk
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 1
Dołączył: 27.01.2009

Ostrzeżenie: (0%)
-----


Odpowiedź jest mocno spóźniona, ale może ta wiadomość jeszcze się komuś przyda. Problem prawdopodobnie polega na tym, że funkcja sprintf zaokrągla, a nie "obcina" liczby. Jeśli np. wstawimy
Kod
<?php
             $cena = 16.39;
             $cena_netto = sprintf("%01.2f", $cena * 1.22);
             return $cena_netto;
       ?>

to cena_netto =19.9958 i po zaokrągleniu daje do części setnych otrzymujemy cena_netto = 20.00. Jeśli nie chcesz by liczba była zaokrąglana można użyć np. czegoś takiego:
Kod
<?php
             $cena = 16.39;
             $cena_netto = sprintf("%01.4f", $cena * 1.22);
       $cena_netto = substr($cena_netto, 0, -2);
             return $cena_netto;
         ?>

U mnie działa.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale kombinujesz... number_format" title="Zobacz w manualu PHP" target="_manual.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:46