zoals ik al bij php.net poste:
the following:
outputs on php 4.0.6:
0.29384728947298
0.29
0
0.29
0.29
however, using php 4.1.0, it outputs:
0.29384728947298299761570206101168878376483917236328125
0.289999999999999980015985556747182272374629974365234375
0
0.289999999999999980015985556747182272374629974365234375
0.289999999999999980015985556747182272374629974365234375
thus, be aware that round() should no longer be used for output. As
previously commented, use [s]printf() for that.
the following:
PHP:
1
2
3
4
5
6
7
8
| <? $int = 0.293847289472983; echo $int ."\n"; echo round($int,2) . "\n"; echo round((int)$int,2) . "\n"; echo round((float)$int,2) . "\n"; echo round((double)$int,2) . "\n"; ?> |
outputs on php 4.0.6:
0.29384728947298
0.29
0
0.29
0.29
however, using php 4.1.0, it outputs:
0.29384728947298299761570206101168878376483917236328125
0.289999999999999980015985556747182272374629974365234375
0
0.289999999999999980015985556747182272374629974365234375
0.289999999999999980015985556747182272374629974365234375
thus, be aware that round() should no longer be used for output. As
previously commented, use [s]printf() for that.
Klaar voor een nieuwe uitdaging.