当前位置: 首页 > news >正文

flex大小写转化

 

public function convertCurrency(currencyDigits:String):String

{

// Constants:

 

 

   var MAXIMUM_NUMBER:Number=99999999999.99;

// Predefine the radix characters and currency symbols for output:

 

 

   var CN_ZERO:String="";

   var CN_ONE:String="";

 

   var CN_TWO:String="";

   var CN_THREE:String="";

 

   var CN_FOUR:String="";

   var CN_FIVE:String="";

 

   var CN_SIX:String="";

   var CN_SEVEN:String="";

 

   var CN_EIGHT:String="";

   var CN_NINE:String="";

 

   var CN_TEN:String="";

   var CN_HUNDRED:String="";

 

   var CN_THOUSAND:String="";

   var CN_TEN_THOUSAND:String="";

 

   var CN_HUNDRED_MILLION:String="亿";

//var CN_SYMBOL = ":";

 

 

   var CN_SYMBOL:String="";

   var CN_DOLLAR:String="";

 

   var CN_TEN_CENT:String="";

   var CN_CENT:String="";

 

   var CN_INTEGER:String="";

 

 

// Variables:

 

   var integral:String; // Represent integral part of digit number.

 

   var decimal:String; // Represent decimal part of digit number.

   var outputCharacters:String=""; // The output result.

 

   var parts:Array;

   var digits:Array;

 

   var radices:Array;

   var bigRadices:Array;

 

   var decimals:Array;

   var zeroCount:int;

 

   var i:int;

   var p:int;

 

   var d:String;

   var quotient:Number;

 

   var modulus:Number;

 

 

// Validate input string:

   currencyDigits=currencyDigits.toString();

 

   if (currencyDigits == "")

   {

      Alert.show("请输入要转换的数字!");

 

      return "";

   }

 

   if (currencyDigits.match(/[^,./d]/) != null)

   {

      Alert.show("数字中含有非法字符!");

 

      return "";

   }

 

   if ((currencyDigits).match(/^((/d{1,3}(,/d{3})*(.((/d{3},)*/d{1,3}))?)|(/d+(./d+)?))$/) == null)

   {

      Alert.show("错误的数字格式!");

 

      return "";

   }

 

 

// Normalize the format of input digits:

 

   currencyDigits=currencyDigits.replace(/,/g, ""); // Remove comma delimiters.

   currencyDigits=currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning.

 

// Assert the number is not greater than the maximum number.

 

   if (Number(currencyDigits) > MAXIMUM_NUMBER)

   {

      Alert.show("超出转换最大范围!");

      return "";

   }

 

 

// Process the coversion from currency digits to characters:

 

// Separate integral and decimal parts before processing coversion:

 

   parts=currencyDigits.split(".");

   if (parts.length > 1)

   {

      integral=parts[0];

      decimal=parts[1];

 

// Cut down redundant decimal digits that are after the second.

      decimal=decimal.toString().substr(0, 2);

   }

   else

   {

      integral=parts[0];

      decimal="";

   }

// Prepare the characters corresponding to the digits:

 

  digits=new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);

   radices=new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);

   bigRadices=new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);

   decimals=new Array(CN_TEN_CENT, CN_CENT);

 

// Start processing:

   outputCharacters="";

 

// Process integral part if it is larger than 0:

 

   if (Number(integral) > 0)

   {

      zeroCount=0;

      for (var i:int=0; i < integral.length; i++)

      {

        p=integral.length - i - 1;

        d=integral.substr(i, 1);

        quotient=p / 4;

        modulus=p % 4;

 

        if (d == "0")

        {

           zeroCount++;

        }

        else

 

        {

           if (zeroCount > 0)

           {

              outputCharacters+=digits[0];

           }

           zeroCount=0;

           outputCharacters+=digits[Number(d)] + radices[modulus];

        }

 

        if (modulus == 0 && zeroCount < 4)

        {

           outputCharacters+=bigRadices[quotient];

        }

      }

      outputCharacters+=CN_DOLLAR;

   }

 

// Process decimal part if there is:

 

   if (decimal != "")

   {

 

      for (var i:int=0; i < decimal.length; i++)

      {

        d=decimal.substr(i, 1);

        if (d != "0")

        {

           outputCharacters+=digits[Number(d)] + decimals;

        }

      }

   }

 

// Confirm and return the final output string:

 

   if (outputCharacters == "")

   {

      outputCharacters=CN_ZERO + CN_DOLLAR;

   }

 

   if (decimal == "")

   {

      outputCharacters+=CN_INTEGER;

   }

   outputCharacters=CN_SYMBOL + outputCharacters;

   trace("小写转换为大写2:" + outputCharacters);

   return outputCharacters;

}

 

 

相关文章:

  • Target runtime Apache Tomcat 5.5 is not defined
  • Android耗时操作
  • hibernate自定义主键
  • 2017.3.9 组合数学学习——组合、多重集排列
  • Flex:PopUpManager的createPopUp与addPopUp区别
  • HTTP协议返回状态码
  • sql之左连接、右连接、全连接
  • c#元组举例
  • RSA证书说明
  • JavaScript学习12 JS中定义对象的几种方式【转】
  • Flex设置toolTip样式
  • fle中alert样式的设置
  • Hdu 3065 病毒侵袭持续中(AC自动机)
  • Error #2044: 未处理的 IOErrorEvent:。 text=Error #2038: 文件 I/O 错误。
  • sql server 函数详解(4)日期和时间函数
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 10个确保微服务与容器安全的最佳实践
  • Centos6.8 使用rpm安装mysql5.7
  • Django 博客开发教程 16 - 统计文章阅读量
  • Docker: 容器互访的三种方式
  • EOS是什么
  • JS实现简单的MVC模式开发小游戏
  • Linux下的乱码问题
  • Mysql5.6主从复制
  • mysql中InnoDB引擎中页的概念
  • Node + FFmpeg 实现Canvas动画导出视频
  • Spring Cloud中负载均衡器概览
  • 包装类对象
  • 分布式熔断降级平台aegis
  • 关于springcloud Gateway中的限流
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • Python 之网络式编程
  • 仓管云——企业云erp功能有哪些?
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #Z0458. 树的中心2
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)c++ std::pair 与 std::make
  • .apk 成为历史!
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET成年了,然后呢?