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

本文转载自: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;

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值