PHPで「数字」を「京」「兆」「億」「万」などの漢字の単位に変換する関数
はじめに
PHPには数字を千位毎にグループ化してフォーマットする「number_format」という便利な関数が用意されていますが、漢字文化圏の千位毎に「京」「兆」「億」「万」などを付加する独特な関数はあたりまえですが用意されていません。そこで作りましたのでご自由にお使いください。
関数
文字コードは「UTF-8」を前提としています
function number_unit($int){ $unit = array('万','億','兆','京'); krsort($unit); if(is_numeric($int)){ $tmp = ''; $count = strlen($int); foreach($unit as $k => $v){ if($count > (4 * ($k + 1))){ if($int!==0) $tmp .= number_format(floor( $int /pow(10000,$k+1))).$v; $int = $int % pow(10000,$k+1); } } if($int!==0) $tmp .= number_format($int % pow(10000,$k+1)); return $tmp; }else{ return false; } }
使用例
(1)
echo number_unit(10000).’円’;
(2)
echo number_unit(777777777).’円’;
(3)
echo number_unit(10000000000000000).’円’;
結果
(1)
1万円
(2)
7億7,777万7,777円
(3)
1京円