Cómo convertir números arábigos a números chinos en PHP
Si se va a utilizar para la conversión de importes es necesario modificar el procesamiento de la parte decimal
lt;?php
función ch_num( $num, $mode =true) {
$char = array("cero", "uno", "dos", "tres", "cuatro", "cinco", "lu", " siete", "ocho" ","九");
$dw = array("","十","百","千","万","千亿"," billón");
$dec = "punto";
$retval = "";
if($modo)
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); //Si hay decimales, procesa los decimales recursivamente primero
if($ar[1] [0] != "") {
$str = strrev($ar[1][0]);
for($i=0;$ilt;strlen( $cadena);$i) {
$out[$i] = $char[$cadena[$i]];
$salida[$i] .= $cadena[$i] != "0"? $dw[$i%4] : ""
if($cadena[$i] $cadena[$i-1] = = 0)
$out[$i] = ""
if($i%4 == 0)
;$out[$i] .= $dw[4 piso($i/4)]
}
}
$retval = unirse("",array_reverse($out )) $retval
}
return $retval
}
/. /echo ch_num("12345006789001.123");
//echo ch_num("880079.1234");
echo ch_num("300045.0123");