2009-07-13 60 views
4

我想格式化一个印度格式的数字。灵活编号格式

例如,

X = 123456应该被格式化为 1,23,456。

我该如何做flex?

谢谢,

+0

你可以看看http://myxaab.wordpress.com/2011/07/12/custom-number-formatting-in-flex/ – Rudy 2011-07-13 03:24:25

回答

7

使用numberformatter。

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

ActionScript代码

x = myFormatter.format(x); 
0

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

包mx.formatters 类公共NumberFormatter类 继承的NumberFormatter继承格式化继承对象

NumberFormatter类可通过将有效数字调整小数舍入和记录离子,千位分离器和负号。

如果您同时使用舍入和精度属性,则先应用舍入,然后使用指定的精度值设置小数长度。这可以让你四舍五入一个数字,并且还有一个尾随小数;例如,303.99 = 304.00。

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

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

MXML Syntaxcollapsed显示MXML语法 expanded隐藏MXML语法

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

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

-1为死链接 – MonoThreaded 2011-10-17 19:53:09

2

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

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