Cómo convertir números arábigos a números chinos en PHP
Si se va a utilizar para conversión de importes, es necesario modificar el procesamiento de la parte decimal.
función ch_num($num ,$modo= verdadero) {
$char = array("cero", "uno", "dos", "tres", "cuatro", "cinco", "lu", "siete" , "ocho"
$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, procese los decimales primero de forma recursiva
if($ar[1][0] != "") {
$cadena = strrev($ar[1][0]);
for($i=0;$i $out[$i] = $char[$str[$i]]; if($modo) { $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($ salida)) $retval } return $retval } // echo ch_num("12345006789001.123") //echo ch_num("880079.1234"); echo ch_num("300045.0123");