In PHP, permette di creare una variabile e impostarla valore ai 0
:Perché il float di PHP 0 (zero) viene visualizzato con il segno?
$x = 0;
echo $x;
sarebbe visualizzare 0
. Se ci si moltiplicare per -1
:
$x = -1 * $x;
echo $x;
ancora vediamo 0
. Ma se $x
è un float:
$x = 0;
$x = (float)$x;
$x = -1 * $x;
echo $x;
otterremmo l'output: -0
.
Perché è quello? Non dovrebbe essere sempre visualizzato senza segno, indipendentemente dal suo tipo sottostante?
Ancora più divertente, prova '$ x = $ x + 0' e stampa di nuovo. La vera ragione è che PHP (e i computer, in generale, davvero) potrebbero o meno rappresentare effettivamente un particolare float con quel valore esatto. Compreso lo zero. È del tutto possibile che '-0' sia in realtà' -0,00000000000003' – CollinD
La cosa principale da ottenere è che non si dovrebbe mai usare '==' con numeri mobili. – Gasim
dupe? http://stackoverflow.com/questions/588004/is-floating-point-math-broken –