htbzwd 发表于 2017-4-10 11:07:32

阿拉伯数字转化为中文汉字(大、小写)

  代码

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;
$fl= isset($num) ? $num : 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 !== '') {
$s = (int) $s;
if ($s !== 0) {
$j .= $CNum[$s].$CNum;
} else {
if ($s != 0 || $s != 0 || $s!=0) {
$j .= $CNum;
}
}
}
// 百位
if ($s !== '') {
$s = (int) $s;
if ($s !== 0) {
$j .= $CNum[$s].$CNum;
} else {
if ($s!=0 && ($s != 0 || $s!=0) ) {
$j .= $CNum;
}
}
}
// 十位
if ($s !== '') {
$s = (int) $s;
if ($s !== 0) {
$j .= $CNum[$s].$CNum;
} else {
if ($s!=0 && $s != 0) {
$j .= $CNum[$s];
}
}
}
// 个位
if ($s !== '') {
$s = (int) $s;
if ($s !== 0) {
$j .= $CNum[$s].$CNum;
} else {
// $j .= $CNum;
}
}
$j.=$CNum[$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[$t];
}
}
return $chs;
}
  源于:http://www.sharetk.com/html/code/php/5470.html
页: [1]
查看完整版本: 阿拉伯数字转化为中文汉字(大、小写)