Publicado en C# - Csharp, Programacion

Convertir Número a Letras en CSharp

Aqui el ejemplo equivalente de Convertir Numeros a Letras para C#

El mismo para Visual Basic .NET esta aqui


using System;

using System.Collections.Generic;

using System.Text;

namespace Conversiones

{

class Conv

{

public string enletras(string num)

{

string res;
string dec;

Int64 entero;

int decimales;

double nro;

try

{

nro = Convert.ToDouble(num);

}

catch

{

return '';

}

entero = Convert.ToInt64(Math.Truncate(nro));

decimales = Convert.ToInt32(Math.Round((nro - entero) * 100, 2));

if (decimales > 0)

{

dec = ' CON ' + decimales.ToString() + '/100';

}

res = toText(Convert.ToDouble(entero)) + dec;

return res;

}

private string toText(double value)

{

string Num2Text = '';

value = Math.Truncate(value);

if (value == 0) Num2Text = 'CERO';

else if (value == 1) Num2Text = 'UNO';

else if (value == 2) Num2Text = 'DOS';

else if (value == 3) Num2Text = 'TRES';

else if (value == 4) Num2Text = 'CUATRO';

else if (value == 5) Num2Text = 'CINCO';

else if (value == 6) Num2Text = 'SEIS';

else if (value == 7) Num2Text = 'SIETE';

else if (value == 8) Num2Text = 'OCHO';

else if (value == 9) Num2Text = 'NUEVE';

else if (value == 10) Num2Text = 'DIEZ';

else if (value == 11) Num2Text = 'ONCE';

else if (value == 12) Num2Text = 'DOCE';

else if (value == 13) Num2Text = 'TRECE';

else if (value == 14) Num2Text = 'CATORCE';

else if (value == 15) Num2Text = 'QUINCE';

else if (value < 20) Num2Text = 'DIECI' + toText(value - 10);

else if (value == 20) Num2Text = 'VEINTE';

else if (value < 30) Num2Text = 'VEINTI' + toText(value - 20);

else if (value == 30) Num2Text = 'TREINTA';

else if (value == 40) Num2Text = 'CUARENTA';

else if (value == 50) Num2Text = 'CINCUENTA';

else if (value == 60) Num2Text = 'SESENTA';

else if (value == 70) Num2Text = 'SETENTA';

else if (value == 80) Num2Text = 'OCHENTA';

else if (value == 90) Num2Text = 'NOVENTA';

else if (value < 100) Num2Text = toText(Math.Truncate(value / 10) * 10) + ' Y ' + toText(value % 10);

else if (value == 100) Num2Text = 'CIEN';

else if (value < 200) Num2Text = 'CIENTO ' + toText(value - 100);

else if ((value == 200) || (value == 300) || (value == 400) || (value == 600) || (value == 800)) Num2Text = toText(Math.Truncate(value / 100)) + 'CIENTOS';

else if (value == 500) Num2Text = 'QUINIENTOS';

else if (value == 700) Num2Text = 'SETECIENTOS';

else if (value == 900) Num2Text = 'NOVECIENTOS';

else if (value < 1000) Num2Text = toText(Math.Truncate(value / 100) * 100) + ' ' + toText(value % 100);

else if (value == 1000) Num2Text = 'MIL';

else if (value < 2000) Num2Text = 'MIL ' + toText(value % 1000);

else if (value < 1000000)

{

Num2Text = toText(Math.Truncate(value / 1000)) + ' MIL';

if ((value % 1000) > 0) Num2Text = Num2Text + ' ' + toText(value % 1000);

}

else if (value == 1000000) Num2Text = 'UN MILLON';

else if (value < 2000000) Num2Text = 'UN MILLON ' + toText(value % 1000000);

else if (value < 1000000000000)

{

Num2Text = toText(Math.Truncate(value / 1000000)) + ' MILLONES ';

if ((value - Math.Truncate(value / 1000000) * 1000000) > 0) Num2Text = Num2Text + ' ' + toText(value - Math.Truncate(value / 1000000) * 1000000);

}

else if (value == 1000000000000) Num2Text = 'UN BILLON';

else if (value < 2000000000000) Num2Text = 'UN BILLON ' + toText(value - Math.Truncate(value / 1000000000000) * 1000000000000);

else

{

Num2Text = toText(Math.Truncate(value / 1000000000000)) + ' BILLONES';

if ((value - Math.Truncate(value / 1000000000000) * 1000000000000) > 0) Num2Text = Num2Text + ' ' + toText(value - Math.Truncate(value / 1000000000000) * 1000000000000);

}

return Num2Text;

}

}

}

TYDW.-

indice de empresas chilenas

11 comentarios sobre “Convertir Número a Letras en CSharp

  1. hola, este codigo es una clase que debes crear. Copia el codigo y luego la debes referenciar en tu pagina o formulario para ocupar el metodo de conversion

    atte

    1. tydw

      podrias agregarme al messenger, para que me expliques como lograr hacer eso, es que soy novato, y no se exactamente comor referenciarlo.

      de lo agradeceria mucho.

      d6i6o6s_@hotmail.com

      de antemano gracias.!
      y saludos desde mexico!

  2. Hola, alguien me podría ayudar en la duda que tengo porfavor, lo que pasa que es la primera vez que trabajo con clases en C#, entonces nose como llamarla o hacerla funcionar para ver el resultado en la interfaz gráfica.
    Gracias.

  3. Elefante: Rosa:
    Instanciar una clace es facil lo unico que tienes que digitar es

    myClass m=new myClass();
    //myClass es el nombre de mi clace y «m» es un //variable para llarmar a sus diferentes metodos:
    //ahora solo copias los dos metodos
    //private string enletras(string num)
    //private string toText(double value)
    //ahora como ya instanciastes lo unico que tienes que //hacer es lo siguiente:
    m.enletras(string num);
    //pero la linea anterios esta mal porque primero tiens //que enviarle una cadena de texto osea tus numeros y //recibir en alguna variable o en un objeto;
    //imaginemos que estamos trabajando con una //interfas grafica y tienes un textbox1 un label1 y un //buton1
    //entonces tu codigo quedara mas o menos asi

    private void button1_Click(object sender, EventArgs e)
    {
    my Class m = new myClass();
    label1.Text = m.enletras(textBox1.Text);
    }

    //ejecutamos y cuando escribamos un mumero en el //textbox precionamos el button1 el resultado en el //label1
    espero que hayan compredido
    y sino agrenme que estare gustoso en ayudarlos
    calidofor@hotmail.com
    suerte

Deja un comentario