PHP は、1 から 1 億までの数値を漢字に変換します。たとえば、150 は 150 に変換されます。
例を直接使用して
を使用して、1000 億に変換します。
/**
* @author jaSON
* 1 ~ 1 億の数字を次のように漢字に変更します。 123->百二十三
* @param [num] $num [数値]
* @return [文字列] [文字列]
*/
function numToWord($num)
{
$chiNum = array('zero', 'one', 'two', 'three' , 'four', 'five', 'six', 'seven', 'eight', 'nine');
$chiUni = array('','ten', 'hundred', 'thousand', ' Wan'、'10 億'、'10'、'100'、'1000');
$chiStr = '';
$num_str = (文字列)$num;
$count = strlen($num_str);
$last_flag = true; //前のものが 0 かどうか
$zero_flag = true; //最初のものが
$ temp_num = null; //一時的な数値
$chiStr = '';//スプライシング結果
if ($count == 2) {//2 桁
$temp_num = $num_str[0 ] ;
$chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num].$chiUni[1];
$temp_num = $num_str[1];
$chiStr . = $temp_num == 0 ? '' : $chiNum[$temp_num];
}else if($count > 2){
$index = 0;
for ($i=$count) - 1; $i >= 0 ; $i--) {
$temp_num = $num_str[$i];
if ($temp_num == 0) {
if (!$zero_flag && ! $last_flag ) {
$chiStr = $chiNum[$temp_num]. $chiStr;
$last_flag = true;
}
}else{
$chiNum[$temp_num] ] .$chiUni[$index%9] .$chiStr;
$zero_flag = false;
$last_flag = false;
}
$index ;
}
} else{
$chiStr = $chiNum[$num_str[0]];
}
return $chiStr;
}
$num = 150;
echo numToWord($num);