PHP将阿拉伯数字转化为汉字的函数

PHP 投稿 11700 0 评论

PHP将阿拉伯数字转化为汉字的函数

这篇关于php 阿拉伯数字转中文的文章,主要介绍PHP将阿拉伯数字转化为汉字的函数,觉得挺不错的,感兴趣的php开发者可以参考下,希望对大家在学习php的成长路上有所帮助!

有木有遇到财务相关的开发,好端端的阿拉伯数字,非得整成汉字形式显示,这也就罢了,还得整成繁体汉字。很苦恼吧。下面将和你分享一下本人遇到需要利用PHP将阿拉伯数字转化为汉字时的处理办法,可以总结为一个函数,具体自己研究去吧。


function num2char($num,$mode=true){
	$char = array('零','一','二','三','四','五','六','七','八','九');
	//$char = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖);
	$dw = array('','十','百','千','','万','亿','兆');
	//$dw = array('','拾','佰','仟','','萬','億','兆');
	$dec = '点';  //$dec = '點';
	$retval = '';
	if($mode){
		preg_match_all('/^0*(\d*)\.?(\d*)/',$num, $ar);
	}else{
		preg_match_all('/(\d*)\.?(\d*)/',$num, $ar);
	}
	if($ar[2][0] != ''){
		$retval = $dec . ch_num($ar[2][0],false); //如果有小数,先递归处理小数
	}
	if($ar[1][0] != ''){
		$str = strrev($ar[1][0]);
		for($i=0;$i<strlen($str);$i++) {
			$out[$i] = $char[$str[$i]];
			if($mode){
				$out[$i] .= $str[$i] != '0'? $dw[$i%4] : '';
				if($str[$i]+$str[$i-1] == 0){
					$out[$i] = '';
				}
				if($i%4 == 0){
					$out[$i] .= $dw[4+floor($i/4)];
				}
			}
		}
		$retval = join('',array_reverse($out)) . $retval;
	}
	return $retval;
}

使用示例:


echo '300045.0123:'.num2char('300045.0123');//www.feishuai.vip

总结

以上就是关于php 阿拉伯数字转中文全部内容,希望这篇PHP将阿拉伯数字转化为汉字的函数文章能够帮你解决如相关的PHP问题,更多请关注PHP栏目的其它相关文章!

编程笔记 » PHP将阿拉伯数字转化为汉字的函数

赞同 (70) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽