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 ?
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ąć
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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 13:52