jQuery(或Javascript)基于给定的C#/ VBA / Java格式字符串格式化数字的方法

时间:2013-12-10 23:13:35

标签: javascript jquery formatting string-formatting

我从数据库返回一个带有关联格式字符串的数字。出于本示例的目的,请考虑2列。

Value      FormatString  ---->  DESIRED OUTPUT FROM JAVASCRIPT/JQUERY
-----      ------------         -------------------------------------
100        #0.00                100.00    
100000     #0,.0K               100.0K
.193       #0.0%                19.3%

格式化选项包括小数点数,千位分隔符号,千位分隔符号,K(M,B),百分比,货币等。格式字符串在C#和VBA中工作得很好(我相信Java使用相同的格式字符串)。

我正在寻找一种javascript方式(使用适用的任何库,jQuery首选)来提供原始值和格式字符串,并让它返回格式化的数字。

我们正在尝试重新编写一个应用程序,这就是数据库给我们的东西......无法更改数据库(并且不确定我是否愿意,因为数据库不应该关心格式化数字用于显示)。

最糟糕的情况:我们必须将所有格式字符串更改为javascript喜欢的内容......但即便如此,我还没有找到一个可接受格式字符串的可用解决方案。

修改

我查看了以下库/插件/工具。

  1. Numeral.js
  2. DecimalFormat.js
  3. jquery-numberformatter
  4. 所有都具有不同级别的“正确性”(因为它适用于C#/ VBA格式字符串)。我可能会使用上面的一个作为起点一起破解一些东西,但是想看看那里是否有东西。

    Numeral.js感觉最有希望,但它并不像我需要的那样处理量级(它想根据传入的值自动确定你的幅度)。如果这是最终的解决方案,这就像是“最容易”的改变。

1 个答案:

答案 0 :(得分:0)

早上睡觉后再尝试谷歌,我相信我找到了我需要的东西。

flexible-js

这看起来像我期望的那样有效。不知道它是否能完美地处理每个用例,但基于初始测试,它看起来像我需要的那样工作。