Come descritto in Is floating point math broken?, 0.1 + 0.2
restituisce 0.30000000000000004
nella maggior parte dei linguaggi di programmazione.Perché PHP può calcolare 0.1 + 0.2 quando altre lingue falliscono?
Tuttavia, PHP, presumibilmente a causa di essere il migliore di tutti i linguaggi di programmazione, è in grado di calcolare 0,1 + 0,2 correttamente:!
php >echo 0.1 + 0.2;
0.3
php >var_dump(0.1 + 0.2);
float(0.3)
Tuttavia, nonostante l'output mostrato sopra, 0,1 + 0,2 = 0,3 :
php >var_dump(0.1 + 0.2 == 0.3);
bool(false)
Cosa sta succedendo qui?
mi hai fatto lol a "PHP di essere il migliore di tutti". È uno dei più magici, però, che potrebbe essere il motivo per cui nasconde l'errore di precisione da te, mentre ovviamente è ancora lì. – GolezTrol