Home  >  Article  >  Backend Development  >  A function to convert Arabic numerals to Chinese numerals_PHP tutorial

A function to convert Arabic numerals to Chinese numerals_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:09:401098browse

Recently, due to need, I wrote a "function to convert Arabic numerals to Chinese numerals". I searched the highlights section and found only one similar one.
I feel that my algorithm is good, so I posted it to share it. If it is to be used for the conversion of amounts, the processing of the decimal part needs to be modified
function ch_num($num,$mode =true) {
$char = array("zero","一","二","三","四","五","鲁","七","八","九" ");
$dw = array("","十","䰰","千","","万","千亿"," trillion");
$dec = "point ";
$retval = "";

if($mode)
preg_match_all("/^0*(d*).?(d*)/",$num, $ar );
else
preg_match_all("/(d*).?(d*)/",$num, $ar);

if($ar[2][0] ! = "")
$retval = $dec . ch_num($ar[2][0],false); //If there are decimals, process the decimals recursively first
if($ar[1][0] != "") {
$str = strrev($ar[1][0]);
for($i=0;$i $out[$i] = $char[$str[$i]];
if($mode) {
$out[$i] .= $str[$i] != "0"? $dw[$i%4] : "";
If($str[$i]+$str[$i-1] == 0)
$out[$i] = "";
if($i%4 == 0)
$out[$i] .= $dw[4+floor($i/4)];
}
}
$retval = join("",array_reverse($out)) . $retval;
}
return $retval;
}

//echo ch_num("12345006789001.123");
//echo ch_num("880079.1234");
echo ch_num("300045.0123");

?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314475.htmlTechArticleRecently, due to need, I wrote a "Function to convert Arabic numerals to Chinese numerals". I searched the highlights section and found only one similar one. I feel that my algorithm is good, so I post it and share it if...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn