金额大小写转化、阿拉伯数字转大写数字,大写数字转阿拉伯数字
2017-07-21 09:53
381 查看
题:请写个程序,将类似下面的大写金额转化为阿拉伯数字。 大写金额样例:玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整。
实现方式:
1、先来一个看起来比较高大上的有技巧的更适合装逼的一种方式:利用函数 str_replace 来实现
$a = "玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整"; $s = str_replace(array('壹','贰','叁','肆','伍','陆','柒','捌','玖','零','仟','佰','亿','整','元','拾','万'), array(1,2,3,4,5,6,7,8,9,0,'','','','','','',''), $a); echo $s;这个方法虽然看起来比较高大上,但是str_replace的性能是公认的差。
2、换一种性能相对好很多的做法,利用数组下标来实现。
$str = "玖仟伍佰零玖亿壹佰零玖万玖仟伍佰壹拾捌元整"; $capital = array('壹','贰','叁','肆','伍','陆','柒','捌','玖','零'); $relationship = array('壹' => 1,'贰' => 2,'叁' => 3,'肆' => 4,'伍' => 5,'陆' => 6,'柒' => 7,'捌' => 8,'玖' => 9,'零' => 0); $letter = ''; for ($i=0; $i<mb_strlen($str); $i++) { $s = mb_substr($str, $i, 1); if (in_array($s, $capital)) { $letter .= $relationship[$s]; } } echo $letter;
以上是我列出来的两个解决方案。
下面列几个涉及的相关函数
1、字符串切割成数组 explode str_split
2、子字符串替换 str_replace 这个最经常用的是敏感词过滤 之后详细说。
相关文章推荐
- java代码中将金额阿拉伯数字转化为中文大写
- 阿拉伯数字转换成金额大写金额(包括小数)
- 两位数字金额转化为大写格式
- 阿拉伯数字转换成金额大写金额(包括小数)
- C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)
- JavaScript 动态将数字金额转化为中文大写金额
- Javascript 阿拉伯数字转化中国大写数字的函数代码
- 将货币数字(阿拉伯数字)(小写)转化成中文(大写)
- php阿拉伯数字转化成大写的数字
- 报表上金额由阿拉伯数字转换成中文大写
- C# 人民币大小写转换,将阿拉伯数字转换为中文的大写人民币
- js 数字金额大小写转换成中文大写
- 银行货币单位阿拉伯数字转化中文大写 eclipse 下C 与java实现 MOOC
- 金额转换,阿拉伯数字的金额转换成中国传统大写汉字的形式
- 阿拉伯数字金额转换成中文大写(转)
- JavaScript把阿拉伯数字的金额转换成大写金额
- Javascript 阿拉伯数字转化中国大写数字
- 将阿拉伯数字转化为人民币的大写
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换