【问题标题】:Javascript - replace whole numbers by decimals [duplicate]Javascript - 用小数替换整数[重复]
【发布时间】:2013-10-30 04:41:29
【问题描述】:

我有 html 表格,单元格中有数字(“数字”类)。有些数字是整数,有些是一个小数或两个小数。

我想做一个脚本,将所有数字转换为两位十进制格式,然后放入代码中。

e.g.
1 = 1.00
1.0 = 1.00
1.00 = 1.00

这是我的第一次尝试,将一个十进制数转换为两个十进制数:

var elements = document.getElementsByClassName("numbers");
for (var i = 0, l = elements.length; i < l; i++) {
elements[i].innerHTML = elements[i].innerHTML.replace(/\d{1,2}(\.\d{1})/g, "$&0");
}

【问题讨论】:

  • 使用现有代码得到什么结果?
  • 使用现有代码我得到这个结果:6.3 = 6.30 OK 1.55 = 1.505 WRONG

标签: javascript


【解决方案1】:

你为什么不直接解析浮点数?

parseFloat(Math.round([elementnumberhere] * 100) / 100).toFixed(2);

【讨论】:

    【解决方案2】:

    为什么不只是(+elements[i].innerHTML).toFixed(2)

    Working demo

    【讨论】:

    • 我试过并得到了这个值“NaN”。可能是因为数字有奇怪的格式 - 以空格开头:“ 1.23”
    • 我想这不是问题,但您可以先进行修剪
    • @letiagoalves 为什么trim 会有所作为?
    • @BenjaminGruenbaum 不知道。这是一个猜测
    • 很公平 :) 作为记录,修剪不应该有所作为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2016-03-03
    • 1970-01-01
    • 2021-03-08
    • 2014-01-01
    • 2020-07-13
    相关资源
    最近更新 更多