【问题标题】:knockoutjs format numbers with commasknockoutjs 用逗号格式化数字
【发布时间】:2014-05-31 01:03:09
【问题描述】:

我是淘汰赛新手,刚刚开始了解框架。但是,我遇到了一个问题,我试图用逗号格式化大数字。我已经能够使用扩展程序 API 将数字格式化为小数位,但这不是我想要的。

该数字存储在一个数组中,应用中使用的数字示例为 500 万。所以我需要这些值来打印 5,000,000 - 这可能吗?我猜它必须是。

【问题讨论】:

  • 所以基本上你正在寻找一个将 5000000 转换为 5,000,000 的 javascript 函数?
  • 是的,但它必须与敲除兼容并绑定到它正在格式化的数据,以便实时更新并保持逗号分隔的结构。
  • 你如何与数据交互?您是否在某个地方更改了值并需要一个文本字段来更新转换后的值?还是在同一个地方(输入文本标签)?
  • 这可能会有所帮助:stackoverflow.com/questions/2901102/…
  • 是的,值在其他地方发生了变化,并且获取输出的文本需要使用转换后的值 + 逗号分隔的结构进行更新。

标签: javascript jquery knockout.js knockout-2.0


【解决方案1】:

我想你会想要创建一个custom binding。最简单的方法可能是使用existing jQuery formatter 在可观察对象更改时格式化显示,然后在用户键入新内容时为文本框设置一个事件处理程序为parse the textbox (removing the commas)

【讨论】:

    【解决方案2】:

    对于格式,您可以使用以下正则表达式(警告:它不适用于浮点数):mystring.replace(/\B(?=(\d{3})+(?!\d))/g, ',')

    你可以看看这个例子:http://jsfiddle.net/nyothecat/XgezN/1/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-18
      • 2017-12-09
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      相关资源
      最近更新 更多