zoukankan      html  css  js  c++  java
  • php数字转中文

    function number2Chinese($num, $m = 1) {
    	switch($m) {
    		case 0:
    			$CNum = array(
    				array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'),
    				array('','拾','佰','仟'),
    				array('','萬','億','萬億')
    			);
    		break;
    		default:
    			$CNum = array(
    				array('零','一','二','三','四','五','六','七','八','九'),
    				array('','十','百','千'),
    				array('','万','亿','万亿')
    			);
    		break;
    	}
    
    	if (!is_numeric($num)) {
    		return false;
    	}
    
    	$flt = '';
    	if (is_integer($num)) {
    		$num = strval($num);
    	}else if(is_numeric($num)){
    		$num = strval($num);
    		$rs = explode('.',$num,2);
    		$num = $rs[0];
    		$flt = $rs[1];
    	}
    
    	$len = strlen($num);
    	$num = strrev($num);
    	$chinese = '';
    	
    	for($i = 0,$k=0;$i < $len; $i+=4,$k++){
    		$tmp_str = '';
    		$str = strrev(substr($num , $i,4));
    		$str = str_pad($str,4,'0',STR_PAD_LEFT);
    		for ($j = 0; $j < 4; $j++) { 
    			if($str{$j} !== '0'){
    				$tmp_str .= $CNum[0][$str{$j}] . $CNum[1][4-1-$j];
    			}
    		}
    		$tmp_str .= $CNum[2][$k];
    		$chinese = $tmp_str . $chinese;
    		unset($str);
    	}
    	if($flt !== ''){
    		$str = '';
    		for ($i=0; $i < strlen($flt); $i++) { 
    			$str .= $CNum[0][$flt{$i}];
    		}
    		$chinese .= "点{$str}";
    	}
    	return $chinese;
    }
    
    $str = number2Chinese(123458656.789);
    var_dump($str);
    

    运行结果

    string(63) "一亿二千三百四十五万八千六百五十六点七八九"
    
  • 相关阅读:
    spark 安装
    maven 常用配置
    矩阵SVD在机器学习中的应用
    机器学习—单变量线性回归
    Stanford机器学习
    Memcached 安装和客户端配置
    Lucene 学习之二:数值类型的索引和范围查询分析
    Go-errors第三方包学习
    Go日志库使用-logrus
    Go语言---小白入门-命令行库Cobra的使用
  • 原文地址:https://www.cnblogs.com/foolishnoob/p/5744570.html
Copyright © 2011-2022 走看看