Convertir números a letras

Hola.

Deseo saber como puedo convertir de n?meros a letras.

Muchas gracias

Re: Convertir n?meros a letras

Podria ser un poco m?s concreto en su pregunta??

Puede exponer un peque?o ejemplo de lo que quiere conseguir.

Un saludo

Re: Convertir n?meros a letras

//rutina

$matuni[2] = “dos”;
$matuni[3] = “tres”;
$matuni[4] = “cuatro”;
$matuni[5] = “cinco”;
$matuni[6] = “seis”;
$matuni[7] = “siete”;
$matuni[8] = “ocho”;
$matuni[9] = “nueve”;
$matuni[10] = “diez”;
$matuni[11] = “once”;
$matuni[12] = “doce”;
$matuni[13] = “trece”;
$matuni[14] = “catorce”;
$matuni[15] = “quince”;
$matuni[16] = “dieciseis”;
$matuni[17] = “diecisiete”;
$matuni[18] = “dieciocho”;
$matuni[19] = “diecinueve”;
$matuni[20] = “veinte”;
$matunisub[2] = “dos”;
$matunisub[3] = “tres”;
$matunisub[4] = “cuatro”;
$matunisub[5] = “quin”;
$matunisub[6] = “seis”;
$matunisub[7] = “sete”;
$matunisub[8] = “ocho”;
$matunisub[9] = “nueve”;

$matdec[2] = “veinte”;
$matdec[3] = “treinta”;
$matdec[4] = “cuarenta”;
$matdec[5] = “cincuenta”;
$matdec[6] = “sesenta”;
$matdec[7] = “setenta”;
$matdec[8] = “ochenta”;
$matdec[9] = “noventa”;
$matsub[3] = ‘mill’;
$matsub[5] = ‘bill’;
$matsub[7] = ‘mill’;
$matsub[9] = ‘trill’;
$matsub[11] = ‘mill’;
$matsub[13] = ‘bill’;
$matsub[15] = ‘mill’;
$matmil[4] = ‘millones’;
$matmil[6] = ‘billones’;
$matmil[7] = ‘de billones’;
$matmil[8] = ‘millones de billones’;
$matmil[10] = ‘trillones’;
$matmil[11] = ‘de trillones’;
$matmil[12] = ‘millones de trillones’;
$matmil[13] = ‘de trillones’;
$matmil[14] = ‘billones de trillones’;
$matmil[15] = ‘de billones de trillones’;
$matmil[16] = ‘millones de billones de trillones’;

$num = trim((string)@$num);
if ($num[0] == ‘-’) {
$neg = ‘menos ‘;
$num = substr($num, 1);
}else
$neg = ‘’;
while ($num[0] == ‘0’) $num = substr($num, 1);
if ($num[0] < ‘1’ or $num[0] > 9) $num = ‘0’ . $num;
$zeros = true;
$punt = false;
$ent = ‘’;
$fra = ‘’;
for ($c = 0; $c < strlen($num); $c++) {
$n = $num[$c];
if (! (strpos(".,’’’", $n) === false)) {
if ($punt) break;
else{
$punt = true;
continue;
}

}elseif (! (strpos(‘0123456789’, $n) === false)) {
if ($punt) {
if ($n != ‘0’) $zeros = false;
$fra .= $n;
}else

  $ent .= $n; 

}else

 break; 

}
$ent = ’ ’ . $ent;
if ($dec and $fra and ! $zeros) {
$fin = ’ con’;
for ($n = 0; $n < strlen($fra); $n++) {
if (($s = $fra[$n]) == ‘0’)
$fin .= ’ cero’;
elseif ($s == ‘1’)
$fin .= $fem ? ’ una’ : ’ un’;
else
$fin .= ’ ’ . $matuni[$s];
}
}else
$fin = ‘’;
if ((int)$ent === 0) return ‘Cero ’ . $fin;
$tex = ‘’;
$sub = 0;
$mils = 0;
$neutro = false;
while ( ($num = substr($ent, -3)) != ’ ‘) {
$ent = substr($ent, 0, -3);
if (++$sub < 3 and $fem) {
$matuni[1] = ‘una’;
$subcent = ‘os’;
}else{
$matuni[1] = $neutro ? ‘un’ : ‘uno’;
$subcent = ‘os’;
}
$t = ‘’;
$n2 = substr($num, 1);
if ($n2 == ‘00’) {
}elseif ($n2 < 21)
$t = ’ ’ . $matuni[(int)$n2];
elseif ($n2 < 30) {
$n3 = $num[2];
if ($n3 != 0) $t = ‘i’ . $matuni[$n3];
$n2 = $num[1];
$t = ’ ’ . $matdec[$n2] . $t;
}else{
$n3 = $num[2];
if ($n3 != 0) $t = ’ y ’ . $matuni[$n3];
$n2 = $num[1];
$t = ’ ’ . $matdec[$n2] . $t;
}
$n = $num[0];
if ($n == 1) {
$t = ’ ciento’ . $t;
}elseif ($n == 5){
$t = ’ ’ . $matunisub[$n] . ‘ient’ . $subcent . $t;
}elseif ($n != 0){
$t = ’ ’ . $matunisub[$n] . ‘cient’ . $subcent . $t;
}
if ($sub == 1) {
}elseif (! isset($matsub[$sub])) {
if ($num == 1) {
$t = ’ mil’;
}elseif ($num > 1){
$t .= ’ mil’;
}
}elseif ($num == 1) {
$t .= ’ ’ . $matsub[$sub] . ‘?n’;
}elseif ($num > 1){
$t .= ’ ’ . $matsub[$sub] . ‘ones’;
}
if ($num == ‘000’) $mils ++;
elseif ($mils != 0) {
if (isset($matmil[$sub])) $t .= ’ ’ . $matmil[$sub];
$mils = 0;
}
$neutro = true;
$tex = $t . $tex;
}
$tex = $neg . substr($tex, 1) . $fin;
return ucfirst($tex);

//tienes que poner los siguientes parametros

$num,$fem=true,$dec=true

Re: Convertir n?meros a letras

para llamarlo seria

$rest=1200
$letras2 = round(num2letras($rest),2);

saludos

Re: Convertir n?meros a letras

Gracias lay_linux, soy nuevo en scriptcase y en Php, esto me sirve!!!

Hola! Veo que el post es de hace unos cuantos a?os, pero tengo el mismo detalle!.

Necesito convertir Numeros a letras en scriptcase.

Como se aplica ese codigo en scriptcase?

Gracias :slight_smile:

SC es un generador PHP y se programa en PHP, por lo que, necesitas hacerlo en PHP :smiley:
http://php-aplicado.blogspot.com.es/2010/04/convertir-numeros-letras-con-php.html

Cierro el hilo, por favor, no hacer necroposting, si tienes m?s dudas al respecto, te pido habras un nuevo hilo. Gracias.