【问题标题】:how to mandate a number to display 2 decimal places?如何强制数字显示 2 位小数?
【发布时间】:2012-03-12 19:59:50
【问题描述】:

我知道在 toFixed() 中将数字截断到小数点后 2 位的方法。但是,如果数字只有 1 个小数位,我会收到错误消息。

强制数字显示>2位小数的方法是什么(在这种情况下小数点后的数字将为0)以便toFixed()不会抛出错误?

【问题讨论】:

  • 错误是什么?我不知道在那种情况下toFixed 应该在哪个浏览器中抛出错误。
  • 嗯...通常,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) 起作用 :]

标签: javascript


【解决方案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 工作正常。
    猜你喜欢
    • 2010-11-21
    • 2021-07-19
    • 1970-01-01
    • 2017-10-03
    • 2013-09-13
    • 1970-01-01
    • 2011-04-24
    • 2012-10-28
    • 1970-01-01
    相关资源
    最近更新 更多