2014-03-05 51 views
-3

在我的情況ToFixed在Javascript ..它是一個錯誤

var num = "5.5499"; 
var numResult = parseFloat(num).toFixed(1); 

現在這裏numResult被returing 5.5和5.6不

這是在所有可靠ToFixed功能......任何人都可以提出一個很好替代。

+5

爲什麼要返回5.6? .5499比.5000更接近.5000。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed「該數字在必要時舍入」 –

+0

沒有什麼不準確的......'5.5499'舍入不是' 5.6'。 –

+0

我認爲OP期待'5.5499'首先回到'5.55',然後回到'5.6'。但是,這並不是如何四捨五入的工作,只考慮'n + 1'數字,即'5.5499 - > 5.54 - > 5.5'。 – RobG

回答

3

四捨五入5.5499到小數點後第二位給了我們5.5,如5.55.6

欲瞭解更多詳情,請參閱the Wikipedia page on rounding

如果你想圓了,那麼一些有Math是胡鬧左右接近5.5499要求:

var numResult = Math.ceil(parseFloat(num) * 10)/10; 
+0

感謝哥們......聽起來像一個更成熟的答案 – James

相關問題