Uruchamiam dwa prawie identyczne kody"
Kod 1
[php:1:25440baf64]<?php
$cena = 9.1*0.75; // = 6.825
$cena_z = round ($cena, 2);
print ("<p>$cena_z</p>");
print ("<p>" .gettype($cena). "</p>");
print ("<p>" .gettype($cena_z). "</p>");
?>[/php:1:25440baf64]
Kod 2
[php:1:25440baf64]<?php
$cena = 6.825;
$cena_z = round ($cena, 2);
print ("<p>$cena_z</p>");
print ("<p>" .gettype($cena). "</p>");
print ("<p>" .gettype($cena_z). "</p>");
?>[/php:1:25440baf64]
Zmienna $cena_z jest zaokrąglana do dwóch miejsc po przecinku.
Zmienne $cena i $cena_z sprawdzam gettype() aby mieć pewność, że są double.
A teraz przedstawiam wynik działania powyższych kodów
Kod 1
Kod
6.82
double
double
double
double
Kod 2
Kod
6.83
double
double
double
double
? dlaczego Kod 1 daje wynik 6.82, a Kod 2 daje wynik 6.83.
Wydaje mi się, że wyniki powinny być identyczne.
A może robię gdzieś jakiś błąd.
-