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) "一亿二千三百四十五万八千六百五十六点七八九"
    
  • 相关阅读:
    sc输入输出
    sc基本语法
    sp启动执行
    sp的配置安装
    软件质量属性的代码层实现
    以淘宝网为例描述常见质量属性场景
    架构漫谈读后感
    《架构之美》阅读笔记三
    《架构之美》阅读笔记二
    大三寒假学习进度笔记Day25
  • 原文地址:https://www.cnblogs.com/foolishnoob/p/5744570.html
Copyright © 2011-2022 走看看