从json我将值映射到我的knockoutjs viewmodel。
viewmodel更新我的输入,但小数值是英文文化(1,900.50) - 我需要它是丹麦文化(1.900,50)。
我该怎么做?在knockoutjs中有文化背景吗?
答案 0 :(得分:0)
JavaScript中的十进制值不在任何“文化”中,它们可能是数值,根据JavaScript定义,它们用点作为分隔符直观地表示。
您要做的是格式化数值。这是一种快速而最脏的方法,可以在viewmodel中创建ko.computed
值,其执行方式如下:
this.fooAttribute.toFixed(2).replace(".", ",")
假设fooAttribute包含1234.5
,这将产生1234,50
。
如果你想要千位分隔符,你必须做一些更聪明的事情。也许使用本地化库。
答案 1 :(得分:0)
对于数字格式,我使用了Numeral.js 它对我所需要的东西非常好。并且还能够创建自己的语言格式定义。