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.-
hermano disculpe lo bruto pero como llamo esta clase…
Excelente, este código me siervio bastante, solo te recomendaria que lo encerraras en un bloque code, para que su lectura y copiado fuera mejor.
Saludos 🙂
Donde tengo que meter esto exactamente para que me funcione en c sharp?
se los agradeceria mucho 😀
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
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!
gracias hermano ni sabes lo q me as ayudado, k Dios te pague
Gracias Bro. de gran ayuda ….
Hola a todos!!!
Me podrían ayudar con la misma duda de khryzto.
Gracias!!!
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.
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