$tests = array(
-1200000000,
-120,
0,
120,
1600,
1400,
12000,
120000,
1200000,
12000000,
123456789,
1200000000,
12000000000,
120000000001,
120000100500,
);
echo "<table class='tbl2'><tbody>";
foreach($tests as $test){
$res = convOkuman($test);
echo "<tr><td>{$test}</td><td>{$res}</td></tr>";
}
echo "</tbody></table>";
/**
* 億万円表記 例 150000000 → 1億5000万
* @param int $value 数値
* @return string 億万円表記
*/
function convOkuman($value){
$unitList = array('','万', '億', '兆', '京', );
// 4桁リストの作成
$int_str = $value . ''; // 整数部分
$rev_str = strrev($int_str);
$keta4List = str_split($rev_str,4);
// 億万表記を組み立てる
$res = ''; // 億万表記の文字列
foreach($keta4List as $i => $keta4){
$k = strrev($keta4);
$k = $k + 0;
if(!empty($k)){
$unit = '';
if(!empty($unitList[$i])) $unit = $unitList[$i];
$k = $k . '';
$res = $k . $unit . $res;
}
}
return $res;
}
出力
-1200000000 | -12億 |
-120 | -120 |
0 | |
120 | 120 |
1600 | 1600 |
1400 | 1400 |
12000 | 1万2000 |
120000 | 12万 |
1200000 | 120万 |
12000000 | 1200万 |
123456789 | 1億2345万6789 |
1200000000 | 12億 |
12000000000 | 120億 |
120000000001 | 1200億1 |
120000100500 | 1200億10万500 |