Announcement

Collapse
No announcement yet.

Convertir números a letras

Collapse
This topic is closed.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Convertir números a letras

    Hola.


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

    Muchas gracias

  • #2
    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

    Comment


    • #3
      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

      Comment


      • #4
        Re: Convertir números a letras

        para llamarlo seria


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

        saludos

        Comment


        • #5
          Re: Convertir números a letras

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

          Comment


          • #6
            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

            Comment


            • #7
              SC es un generador PHP y se programa en PHP, por lo que, necesitas hacerlo en PHP
              http://php-aplicado.blogspot.com.es/...s-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.
              /Giuseppe

              Professional Scriptcase Services
              Some Customers opinions

              Comment

              Working...
              X