j查询和数字格式

jQuery and Number Formatting

本文关键字:格式 数字 查询      更新时间:2023-09-26

看起来javascript和jQuery中的数字格式有点泥潭。

我有一个包含一堆数字的表格。 我想在用户与页面上的jQuery元素交互时更改数字,但我还希望在用户与表交互时用逗号和(+/-)符号格式化数字。 据我所知,我根本无法对格式化状态下的数字执行任何数学运算。 此外,使用正则表达式可以动态格式化新数字(无需发送回服务器),但不方便。

有没有更好的方法来即时格式化和处理这些东西? 我需要对格式化的数字进行数学运算,并从数学中生成新的格式化数字。

有很多

方法可以做到这一点,这里只是几种:

  1. 在 Javascript 中保留一个对象数组,该数组将同时包含纯值和格式化值。然后可以很容易地迭代到操作/计算值和格式化和生成输出。
  2. 在每个单元格上设置一个自定义数据元素,该元素将保存纯值,然后将格式化值添加到单元格中,类似于<td data-actual-val="3400">3,400</td>
  3. 在每个单元格中都有一个隐藏的输入元素,用于保存纯值,以及一个跨度,该元素保存格式化值,如下所示<td><input type="hidden" class="actualVal" value="3400"><span class="formattedVal">3,400</span></td>

如果没有您通过添加当前使用的HTML和Javascript/jQuery来详细说明您的问题,我们真的无法为您做更多的事情。

var profits=2489.8237
profits.toFixed(3) //returns 2489.824 (round up)
profits.toFixed(2) //returns 2489.82
profits.toFixed(7) //returns 2489.8237000 (padding)
var anumber=123.45
anumber.toPrecision(6) //returns 123.450 (padding)
anumber.toPrecision(4) //returns 123.5 (round up)
anumber.toPrecision(2) //returns 1.2e+2 (you figure it out!)

var profits=2489.8237
if (profits.toFixed) //if browser supports toFixed() method
profits.toFixed(2)

学分

这也可能有助于