如何强制数字显示 2 位小数?
Posted
技术标签:
【中文标题】如何强制数字显示 2 位小数?【英文标题】:how to mandate a number to display 2 decimal places? 【发布时间】:2012-03-12 19:59:50 【问题描述】:我知道在 toFixed()
中将数字截断到小数点后 2 位的方法。但是,如果数字只有 1 个小数位,我会收到错误消息。
强制数字显示>2位小数的方法是什么(在这种情况下小数点后的数字将为0)以便toFixed()
不会抛出错误?
【问题讨论】:
错误是什么?我不知道在那种情况下toFixed
应该在哪个浏览器中抛出错误。
什么错误? jsfiddle.net/JamesHill/AbPEz
嗯...通常,toFixed
应该在末尾添加零以匹配所需的位置数。 var num = 10; var result = num.toFixed(2);
应该产品10.00
。
请发布您的代码... toFixed 为我设计的作品(例如:a=1.2; a.toFixed(4);
-> 返回 1.2000)
10.toFixed(2)
不起作用...但 (10).toFixed(2)
起作用 :]
【参考方案1】:
这应该适用于任何输入:
var result = Math.round(original*100)/100;
一般来说,我会避免使用 toFixed(),因为它在给定非浮点输入时可能会出现意外行为。另外,请参见此处:
How to format a float in javascript?
Trying to format number to 2 decimal places jQuery
【讨论】:
【参考方案2】:我认为您正在尝试在字符串上应用 toFixed ?您可以在使用 toFixed 之前将其解析为浮点数。
var a = '1.0';
a = parseFloat( a );
a = a.toFixed(2);
console.log( a );
【讨论】:
我仍然不确定问题出在哪里,但我做了一些代码更改,现在 toFixed 工作正常。以上是关于如何强制数字显示 2 位小数?的主要内容,如果未能解决你的问题,请参考以下文章