2013-07-16 40 views
1

我寫了一個簡單計算的快速JavaScript。當我運行腳本它有一個奇怪的輸出,我無法解釋......乘法時產生的奇怪JavaScript輸出

劇本,在其最基本的形式是:

for (var a=0;a<100;a++) { 
    var b= 3.6*a 
    document.write(b + "<br />"); 
} 

這裏的演示:http://jsfiddle.net/uKa2G/

預計我會得到直接的單數或無十進制答案,但每隔幾行就會有一個巨大的小數。

如果有人可以解釋爲什麼它將不勝感激。

+4

它真的'我'或'a',或者你是懶惰的? LOL – vee

+0

不要介意當我輸入int問題輸入框時按下錯誤的鍵^^''我'應該是'a',它仍然混亂。 – Phinet

+0

答案很簡單,因爲浮點算術(即非整數算術)具有一定的不準確性,因爲計算機通常只接近內存中浮點數的值(不像整數,它可以建模爲精確的值)。 –

回答

0

如果您希望沒有小數,那麼您必須parseInt()

for (var a=0;a<100;a++) { 
    var b= 3.6*a; 
    console.log(parseInt(b)); 
} 
+0

@保羅錯過了。感謝您指出它。 – Praveen

+1

沒問題。我沒有downvote它,但可能OP是想知道答案像320.40000000000003和爲什麼不是320.4 – Paul

+0

Thankyou真的有效! – Phinet