如何强制数字显示 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 位小数?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库,数字强制显示2位小数

如何强制 ExtJS NumberField 中的小数显示达到一定的精度?

数值强制显示小数点后4位

PHP 返回强制为2位小数的数字。

无论小数点后的位数如何,如何快速显示 2 位小数?

如何将十进制值显示到小数点后 2 位?