加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 日期、电话号码、数字、邮编、货币格式化相关【转】

发布时间:2020-12-15 01:14:09 所属栏目:百科 来源:网络整理
导读:本文转载自:http://blog.163.com/zhj_mouse/blog/static/64118537201111242154764/ ? ?基本的Flex格式化包含CurrencyFormatter(货币格式化)、PhoneFormatter(电话号码格式化)、NumberFormartter(数字格式化)、DateFormatter(日期格式化)、 ZipCodeForma

本文转载自:http://blog.163.com/zhj_mouse/blog/static/64118537201111242154764/

?

?基本的Flex格式化包含CurrencyFormatter(货币格式化)、PhoneFormatter(电话号码格式化)、NumberFormartter(数字格式化)、DateFormatter(日期格式化)、 ZipCodeFormatter(邮编格式化)。他们分别都是位于mx.formatters包下,且都是继承与 mx.formatters.formatter类。

??????? 使用flex格式化的方法有两种:

???????????? 1.在mxml code文件中的<fx:Declarations>中声明相应的<mx:格式化类型 id=""/>,在通过其id属性调用其format方法。

?????????????2.在mxml code文件中的<mx:script>中声明相应的格式化类型对象 如:var df:DateFormatter = new DateFormatter();

1.货币格式化?Formatter Currency

? a).???? <mx:CurrencyFormatter id="cf"? currencySymbol="$" precision="2" thousandsSeparatorTo="," decimalSeparatorTo="." useThousandsSeparator="true" useNegativeSign="true" alignSymbol="left" />

?????<mx:Label text="{cf.format(500)}" />?? 运行输出结果为$500.00

? b).????var cf:CurrencyFormatter = new CurrencyFormatter();
?????????? cf.currencySymbol = "RMB";//设置转换的货币符号

?????????? cf.alignSymbol = "right";//设置货币符号的位置
?????????? cf.precision = 2;//设置精确位数
?????????? cf.thousandsSeparatorTo = ",";//设置千位的分隔符
?????????? cf.decimalSeparatorTo = ".";//设置小数的分隔符
????????? ?cf.useThousandsSeparator = true;//这个默认为false ,需要手动设置才能起效
?????????? cf.useNegativeSign = true;//如果为true?负数就直接在前面加-
????????????trace(cf.format(1001.345));??

???? 运行输出结果为1,001.34RMB;

?2.电话号码格式化 Formatter Phone

?? a).???? <mx:PhoneFormatter id="pf" areaCode="888" formatString="###-####"/>

?????????? <mx:Label text="{pf.format(1234567)}"/> 运行结果为 (888)123-4567;

??b).???? var pf:PhoneFormatter = new PhoneFormatter();
????pf.areaCode = 888;//设置区号
????pf.formatString = "###-####";//设置转换号码格式 如果输入123 则输出 123-0000
????trace(pf.format(1234567)); 运行输出(888)123-4567;

3.日期格式化 Formatter Date

? a).?? <mx:DateFormatter id="df" formatString="MMMM D,YYYY"/>

???????? ?<mx:Label text="{df.format(new Date())} "/>运行结果为 十一月 25,2010;

b).? ??/**
???? * Y? 代表Year YY = 10;YYYY = 2010; YYYYY = 02010;
???? * M? 代表Month M = 11; MMMM = 十一月
???? * D? 代表Day?? D = 4; DD = 04;
???? * E? 代表Day in week E = 1; EE = 01; EEE = Mon; EEEE = Monday;
???? * A? 代表 am/pm
???? * J? 代表Hour in day(0-23)
???? * H? 代表Hour in day(1-24)
???? * K? 代表Hour in am/pm(0-11)
???? * L? 代表Hour in am/pm(1-12)
???? * N? 代表Minute in hour N = 3; NN = 03;
???? * S? 代表Second in Minute SS = 30;
???? */
????var df : DateFormatter = new DateFormatter();
????df.formatString = "YYYY-M-DD JJ:NN:SS";
????trace(df.format(new Date())); 运行结果为2010-11-25 16:02:54;

4.数字格式化 Number Formatter

? a).?? <mx:NumberFormatter? id="nf"? precision="0" decimalSeparatorTo="." thousandsSeparatorTo="," rounding="up"? useNegativeSign="true" useThousandsSeparator="true"/>

<mx:Label text="{nf.format(6000.55)}"/>运行结果6,001;

b).????var nf:NumberFormatter = new NumberFormatter();
????nf.precision = 0;//设置小数点后面位数
????nf.decimalSeparatorTo = ".";//设置小数点的分隔符号
????nf.thousandsSeparatorTo = ",";//设置千位的分隔符号
????nf.rounding = "down";//根据小数向上约等于还是向下约等于
????nf.useNegativeSign = "true";//负数 前面加"-";
????nf.useThousandsSeparator = "true";//运用使用分隔符分隔千位
????trace(nf.format(6000.55));运行结果6,000;

5.邮政编码格式化 ZipCode Formatter

? a).<mx:ZipCodeFormatter id="zcf" formatString="##### ####"/>

??? <mx:Label text="{zcf.format(123456789)}" />运行结果12345 6789;

? b).????var zcf:ZipCodeFormatter = new ZipCodeFormatter(); ????zcf.formatString = "#####-####";//注意 ZifCodeformatter的形式只限于 "#####-####" ||"##### ####"?||"#####"|| "### ###" ||? "###-###"这么几种,如果要实现其他方式需要重写format方法。 ????trace(zcf.format("123456789"));运行结果12345-6789;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读