2010-07-02 60 views
192

我想顯示一個數字,小數點後2位。的JavaScript顯示浮到小數點後2位

我想我可以在JavaScript中使用toPrecision(2)

但是,如果數量是0.05,我會得到0.0500。我寧願它保持不變。

請參閱JSbin

這樣做的最好方法是什麼?

我可以考慮編寫一些解決方案,但我想像(我希望)這樣的東西是內置的?

回答

333
float_num.toFixed(2); 

注:toFixed()將圓或墊零,如果有必要,以滿足指定的長度。

+19

但它返回字符串,而不是浮動! – Anwar 2016-06-07 09:58:59

+12

問筆者要「顯示」,所以字符串是完美 – 2016-10-18 21:35:29

+1

你可以隨時使用parseFloat(float_num.toFixed(2))將字符串轉換背部,同時只保留兩位小數浮動。 – Hankrecords 2017-02-15 15:07:00

44

您可以使用toFixed函數,但它的buggy in IE。如果你想要一個可靠的解決方案,看看我的回答here

+16

技術應當制定,而不是適應IE瀏覽器...(順便說一句在節點JS'float_num.toFixed(2); '工作正常) – fider 2013-08-21 11:15:28

4

不知道我是怎麼到這個問題,但即使是很多年,因爲這已經被問,我想補充一個快速和簡單的方法我跟着,從來沒有讓我失望:

var num = responce_from_a_function_or_something(); 
var fixed_num = parseFloat(num).toFixed(2); 
+0

爲什麼'parseFloat()'那裏?只有當數字來自字符串時才應該使用它。 – alex 2016-01-13 11:00:42

+2

在某些場合,當我用jQuery一些「數據 - 」屬性值從一個元素,如果我只用toFixed會產生錯誤。 parseFloat修復它。 – panos 2016-01-13 11:36:58

+1

是的這就是我的意思上面*如果它來自一個字符串*。但使用它總是不好的建議。 – alex 2016-01-13 13:23:36