Eventuali duplicati:
Is JavaScript’s Math broken?Perché l'aggiunta di due decimali in Javascript produce un risultato errato?
Perché JS vite questa semplice matematica?
document.write(.1 + .2) // 0.3000000000000004
document.write(.3 + .6) // 0.8999999999999999
Il primo esempio è maggiore del risultato corretto, mentre il secondo è inferiore. ??? !! come lo aggiusti? Devi convertire sempre i decimali in numeri interi prima di eseguire le operazioni? Devo solo preoccuparmi di aggiungere (* e/non sembrano avere lo stesso problema nei miei test)?
Ho cercato in molti posti per le risposte. Alcuni tutorial (come le forme del carrello degli acquisti) fanno finta che il problema non esista e aggiungono semplicemente valori. I guru forniscono routine complesse per varie funzioni matematiche o menzionano JS "fa un lavoro scarso" di passaggio, ma devo ancora vedere una spiegazione.
Controlla le risposte a questa domanda: http://stackoverflow.com/questions/588004/is-javascripts-math-broken –
Possibile duplicato di migliaia di domande su questo e su ogni singolo forum di programmazione. –
Ancora ?! Abbiamo davvero bisogno di scrivere una FAQ. –