代码
function number2Chinese($num, $m = 1) { switch($m) { case 0: $CNum = array( array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'), array('','拾','佰','仟'), array('','萬','億','萬億') ); break; default: $CNum = array( array('零','一','二','三','四','五','六','七','八','九'), array('','十','百','千'), array('','万','亿','万亿') ); break; } // $cNum = array('零','一','二','三','四','五','六','七','八','九'); if (is_integer($num)) { $int = (string)$num; } else if (is_numeric($num)) { $num = explode('.', (string)floatval($num)); $int = $num[0]; $fl = isset($num[1]) ? $num[1] : FALSE; } // 长度 $len = strlen($int); // <a href="http://www.sharetk.com/" target="_blank"><u>中文</u></a> $chinese = array(); // 反转的<a href="http://www.sharetk.com/" target="_blank"><u>数字</u></a> $str = strrev($int); for($i = 0; $i<$len; $i+=4 ) { $s = array(0=>$str[$i], 1=>$str[$i+1], 2=>$str[$i+2], 3=>$str[$i+3]); $j = ''; // 千位 if ($s[3] !== '') { $s[3] = (int) $s[3]; if ($s[3] !== 0) { $j .= $CNum[0][$s[3]].$CNum[1][3]; } else { if ($s[2] != 0 || $s[1] != 0 || $s[0]!=0) { $j .= $CNum[0][0]; } } } // 百位 if ($s[2] !== '') { $s[2] = (int) $s[2]; if ($s[2] !== 0) { $j .= $CNum[0][$s[2]].$CNum[1][2]; } else { if ($s[3]!=0 && ($s[1] != 0 || $s[0]!=0) ) { $j .= $CNum[0][0]; } } } // 十位 if ($s[1] !== '') { $s[1] = (int) $s[1]; if ($s[1] !== 0) { $j .= $CNum[0][$s[1]].$CNum[1][1]; } else { if ($s[0]!=0 && $s[2] != 0) { $j .= $CNum[0][$s[1]]; } } } // 个位 if ($s[0] !== '') { $s[0] = (int) $s[0]; if ($s[0] !== 0) { $j .= $CNum[0][$s[0]].$CNum[1][0]; } else { // $j .= $CNum[0][0]; } } $j.=$CNum[2][$i/4]; array_unshift($chinese, $j); } $chs = implode('', $chinese); if ($fl) { $chs .= '点'; for($i=0,$j=strlen($fl); $i<$j; $i++) { $t = (int)$fl[$i]; $chs.= $str[0][$t]; } } return $chs; }
源于:http://www.sharetk.com/html/code/php/5470.html
相关推荐
在android中,有时候会被要求讲阿拉伯数字转换为中文数字,例如书籍的页码。这里特地优化了转换过程
将阿拉伯数字转化成汉字金钱 如1234.45转化为壹仟贰佰叁拾肆元肆角伍分
阿拉伯数字转换成中文数字, 例如: 10转换成十,111转换成一百一十一 最高支持的数字单位亿, 再大的话可能需要自己修改
修改了输入小数转换一个错误,修正窗体可调整和图标等
前台页面,通过js转化成中文大写,阿拉伯数字转成中文大写
佛慈悲,应要求给整个下载在我的资源中,其中包含自学习桌面编程以来所找的资料及未完成的部分学习代码,从未完成的开始转入了另一个急需开发软件的研发工作,所以没时间来作这个的继续,打包原封不动提供学习了. ...
本人用c写的完成汉语数字串与阿拉伯数字串间转换的一个小工具,完全基于串操作,不需要经过中间数值表示,原则上可以对任意长数字串进行转换,附带汉语数字串的大小写转换功能。
人民币数字转换成汉字大写 android Java 运行效率
阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十、百、千、万、亿。 以“万”为小节,对应一个节权位,万以下没有节权位。 每个小节内部以“十百千”为权位独立计数。 “十百千...
本文实例为大家分享了php阿拉伯数字转中文人民币大写的实现代码,供大家参考,具体代码如下 代码1:php阿拉伯数字转中文人民币大写,有详细的注释 /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换...
阿拉伯数字转中文大字,输入小写金额转中文大写
这个简单示例实现了由数字转换为汉字大写的方法,核心的部分也就是一个转换算法的处理,以及对输入异常的处理
将小写数字变大写 如 输入1234567 可以输出一二三四五六七
pb 小写数字转换成大写数字,支持到千万亿.
菜鸟一枚,朋友需要在excel中将大写数字转换为阿拉伯数字,由于是文本格式的,我也不会,就研究用了vb来实现。当时想着复制粘贴,结果网上没找到,于是自己胡写了一些,一般情况测试通过。 这是vb源码。 普通excel...
Android中数字转中文,金额转大写源码,支持口语化转换。
金额阿拉伯小写数字转换成大写
2.输入小写金额原则上默认为纯阿拉伯数字(含负号(-)),字符型数字或数值型数字均可。转换程序本身已包含对非数字符号的检测过滤,只对有效数字转换,如:--003 5a.6z08 = -35.608 = 负叁拾伍元陆角壹分。输入...
主要运用字符串数组知识的c++基础练习,很简单很能锻炼初学者的一道题
一种简单的方法将小写阿拉伯数字转化为大写!