- /**
- * 数値を中国語に変換します
- * @param string|integer|float $num ターゲット数値
- * @param integer $mode モード [true: 金額 (デフォルト)、false: 通常の数値表現]
- * @param boolean $sim は小文字を使用します(デフォルト)
- * @return 文字列
- */
- functionnumber2chinese($num,$mode = true,$sim = true){
- if(!is_numeric($num)) return '非を含む数値 小数点以外の文字です! ';
- $char = $sim ? array('0','1','2','3','4','5','6','7','8','9' )
- : array('zero','one','two','three','four','five','Lu','旒','捌','玖');
- $unit = $sim ? array('','十','百','千','','万','十億','兆')
- : array('','十','百' , '仟','','万','億','兆');
- $retval = $mode ? '元':'ポイント' //小数部
- if(strpos($num) , ' .')){
- list($num,$dec) =explode('.', $num);
- if($mode){
- $retval .= "{$char[$dec['0']]}角度{$char[$dec['1']]}セント"
- }else{
- for($i = 0,$c = strlen( $dec);$i < $c;$i++) {
- $retval .= $char[$dec[$i]]
- }
- }
- }
- // 整数部分
- $str = $mode ? strrev (intval($num)) : strrev($num);
- for($i = 0,$c = strlen($str);$i < $c;$i++) {
- $out[$i ] = $char[$str[$i]];
- if($mode){
- $out[$i] .= $str[$i] != '0'? '' ;
- if($i>1 and $str[$i]+$str[$i-1] == 0){
- $out[$i] = ''; 4 = = 0){
- $out[$i] .= $unit[4+floor($i/4)]
- }
- }
- }
- $retval = join('',array_reverse($out)); . $ retval;
- return $retval; }
- //インスタンス呼び出し=================== === ==================
- $num = '0123648867.789';
- echo $num,'
'; // 通常の数値の漢字表現
- echo '通常 :',number2chinese($num,false),'';
- echo '
' - //金額を漢字で表現
- echo 'Amount (簡略化):',number2chinese($num, true),'';
- echo '
';
- echo 'Amount (Traditional):',number2chinese($num,true,false);
-
-
- コードをコピーします。
-
-
-
-
-
php
-
-
|