0

我有一堆不同计量单位的数字,需要不同的十进制精度。它们都在同一个组件中呈现。在这个组件中 - 我需要格式化数字以包含千位分隔符。

这就是我目前正在做的事情

Ext.util.Format.number(floatValue.toFixed(this.euStore.getById(euId).get('DecimalPrecision')), '0,000.00');

Wherethis.euStore.getById(euId).get('DecimalPrecision')返回 0 - 4 之间的任何地方。

Ext.util.Format.number当调用添加千位分隔符时,我需要保留这些小数位,因为它总是使用当前格式获得 2 个小数位,'0,000.00'

有没有办法使用内置的数字格式化程序来做到这一点,还是我需要编写自己的函数?谢谢!

4

1 回答 1

0

所以我在发布后不久就弄清楚了。我将小数精度保存在 var

var decimalPrecision = this.euStore.getById(euId).get('DecimalPrecision')

然后构建格式字符串,Ext.String.repeat用于根据精度值重复小数位。

var format = '0,000.' + Ext.String.repeat('0', decimalPrecision);

然后将其传递给

Ext.util.Format.number(myNumber, format)

得到我需要的结果。感谢您的建议!

于 2012-09-25T15:43:52.663 回答