Flex数字格式

时间:2009-07-13 12:22:40

标签: actionscript-3 flex

我想用印度格式格式化数字。

例如,

x = 123456应格式化为 1,23,456。

我怎么能在flex中做到这一点?

谢谢,

3 个答案:

答案 0 :(得分:7)

使用数字格式。

<mx:NumberFormatter id="myFormatter"
    decimalSeparatorFrom="."
    decimalSeparatorTo="."
    precision="-1"
    rounding="none"
    thousandsSeparatorFrom=","
    thousandsSeparatorTo=","
    useNegativeSign="true"
    useThousandsSeparator="true"/>

动作代码

x = myFormatter.format(x);

答案 1 :(得分:2)

我想我需要建立他/她自己的数字格式化程序来完成这项任务。简单地使用NumberFormatter只会导致以下

123,456 and not 1,23,456 (i.e. the Indian style number formatting)

答案 2 :(得分:0)

来自http://livedocs.adobe.com/flex/2/langref/mx/formatters/NumberFormatter.html

打包mx.formatters 类公共类NumberFormatter 继承NumberFormatter继承Formatter继承对象

NumberFormatter类通过调整小数舍入和精度,千位分隔符和负号来格式化有效数字。

如果同时使用舍入和精度属性,则首先应用舍入,然后使用指定的精度值设置小数长度。这可以让你对一个数字进行舍入,但仍然有一个尾随的小数;例如,303.99 = 304.00。

如果发生错误,则返回空字符串,并将描述错误的字符串保存到error属性中。 error属性可以具有以下值之一:

  • “无效值”表示将无效数值传递给format()方法。该值应为Number或String形式的有效数字。
  • “格式无效”表示其中一个参数包含无法使用的设置。

MXML Syntaxcollapsed显示MXML语法 展开隐藏MXML语法

标记继承了其超类的所有标记属性,并添加了以下标记属性:

  <mx:NumberFormatter
    decimalSeparatorFrom="."
    decimalSeparatorTo="."
    precision="-1"
    rounding="none|up|down|nearest"
    thousandsSeparatorFrom=","
    thousandsSeparatorTo=","
    useNegativeSign="true|false"
    useThousandsSeparator="true|false"/>