2010-07-02 81 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