Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Inna matematyka?
Forum PHP.pl > Forum > PHP
Tomasz Grajewski
Na początku quiz:
Ile jest równa liczba 1.555 zaokrąglona do dwóch miejsc po przcinku?

a) 1.55
cool.gif 1.56

Według mnie odpowiedź b - 1.56 ...
Ale nie według funkcji sprintf

Kod:

$a = 1.555;
$b = number_format($a, 2, '.', '');

$c = sprintf("%01.2f", $a);
echo"$a <BR> po sformatowaniu:<BR> równa się w zależności od funkcji:<BR> $a <BR>lub<BR>$b";



No ja nie wiem co zrobić i jak zaokrąglać?questionmark.gif
zalew
z tego co pamietam to umowne zaokraglanie wyglada tak, ze koncowa cyfre 0-5 zaokragla sie do dolnej liczny a powyzej 5 do gornej; przy czym zaczyna sie od ostatnich cyf i sie cofa...
czyli:

1,5555555 ~~ 1,55
1,5555556 ~~ 1,56

czyli wg mnie jestes w bledzie, a php ma racje bo sie zaokragla co kazda cyfre z osobna .. a moze sa 2 szkoly jazdy na ten temat :/.. sam jestem ciekaw smile.gif
Tomasz Grajewski
Według Ciebie 0,1,2,3,4,5 zaokrągla do dołu a 6,7,8,9 0 czy widzisz tutaj symetrię?questionmark.gif Ja nie 8) A matma jest symetryczna ...
Poradziłem sobie - trzeba użyć funkcji round() - ale ciekawostka zostaje ... bo w takim razie w manualu jest błąd - bo ta funkcja sprintf, którą dałem w przykładzie jest rodem z manuala z przykladu dla walut ...
Anarion
Umowne zaokraglanie jest od 5 w gore, przynajmniej tak ucza w szkolach smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.