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



我有一个从数据库返回的数字,带有一个相关的格式字符串。为了这个例子的目的,考虑两列。

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. 数字.js
  2. DecimalFormat.js
  3. jquery号码格式化程序

所有这些都具有不同级别的"正确性"(因为它适用于C#/VBA格式字符串)。我可能会用上面的一个作为起点来破解一些东西,但我想看看是否已经有了一些东西。

Numeral.js感觉是最有前途的,但它没有按照我需要的方式处理大小(它想根据传入的值自动为您确定大小)。如果这是最终的解决方案,那么这感觉是"最容易"改变的。

睡了一觉,第二天早上又试着谷歌了一下,我相信我已经找到了我需要的东西。

灵活js

这似乎如我所期望的那样起作用。不知道它是否完美地处理了每个用例,但根据最初的测试,它看起来像我需要的那样工作。

最新更新