Textbox

Hola Amigo del foro,
Estoy aquí de nuevo enviándote una duda, fíjate que estoy haciendo un sistema de recibos, y he llegado a un punto en el cual. Tengo un textbox que se llama cantidadn, aquí tu ingresas una cantidad en numero por ejemplo 500, luego sigue un textbox que se llama cantidadl, es decir la cantidad en letras, aquí necesito que automáticamente aparezca 'quinientos lempiras', lempiras porque es la moneda de mi país honduras.
********************************************
ejemplo.
cantidadn = 135
cantidadl = ciento treinta y cinco lempiras
*********************************************
Y así para cualquier cantidad que yo ingrese, podrías facilitarme el código para hacerlo en un windowsform de c#.
Te lo agradecería mucho.

1 Respuesta

Respuesta
1
Pues no existe algún función que te haga eso, tienes que darte modos te dejo algo que alguna vez hice pero esta incompleto y no creo que sea la mejor forma pero te puede dar una idea de algo, ojo veras que no creo que sea la mejor manera pero por ahí va el asunto algo por el estilo es lo que debes hacer
Saludos
class Program
{
static void Main(string[] args)
{
for (int i = 0; i <= 900; i++)
{
Console.WriteLine(NumeroAString.ConvertirNumeroAString(i));
}
Console.Read();
}
}
public class NumeroAString
{
static string[] colNumeros = { "cero","uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "cero" };
static string[] colDecimos = { "","dies", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa" };
static string[] colCientos = { "cien","ciento", "dos cientos", "tres cientos", "cuatro cientos", "quinientos", "seis cientos", "sete cientos", "ocho cientos", "nove cientos" };
string[] colMiles = { "mil", "millon" };
public static string ConvertirNumeroAString(int p_numero)
{
string retorno = string.Empty;
if (p_numero <= 10 || p_numero >= 20)
{
List<Numero> lista = Numero.ObtenerListadoNumeros(p_numero);
foreach (Numero item in lista)
{
if (item.NumeroCantidad != 0)
{
if (item.NumeroIndice == 0)
{
retorno += colNumeros[item.NumeroCantidad];
}
if (item.NumeroIndice == 1)
{
retorno += colDecimos[item.NumeroCantidad] + " y ";
}
if (item.NumeroIndice == 2)
{
if(p_numero==100)
retorno += colCientos[0]+" ";
else
retorno += colCientos[item.NumeroCantidad]+" ";
}
}
else
{
if (lista.Count <= 1)
retorno += colNumeros[0];
else
{
retorno = retorno.Replace(" y ", "");
}
}
}
}
else
{
//Numeros especiales
//11,12,13,14,15,16,17,18,19
switch (p_numero)
{
case 11:
retorno += "once";
break;
case 12:
retorno += "doce";
break;
case 13:
retorno += "trece";
break;
case 14:
retorno += "catorce";
break;
case 15:
retorno += "quince";
break;
case 16:
retorno += "dieciseis";
break;
case 17:
retorno += "diecisiete";
break;
case 18:
retorno += "dieciocho";
break;
case 19:
retorno += "diecinueve";
break;
}
}
return retorno;
}
}
public class Numero
{
private int m_numeroCantidad;
public int NumeroCantidad
{
get { return m_numeroCantidad; }
set { m_numeroCantidad = value; }
}
private int m_numeroIndice;
public int NumeroIndice
{
get { return m_numeroIndice; }
set { m_numeroIndice = value; }
}
public Numero()
{
}
public Numero(int p_numeroCantidad, int p_numeroIndice)
{
m_numeroCantidad = p_numeroCantidad;
m_numeroIndice = p_numeroIndice;
}
public static List<Numero> ObtenerListadoNumeros(int p_numero)
{
List<Numero> lista = new List<Numero>();
int i = p_numero.ToString().Length;
foreach (char item in p_numero.ToString().ToCharArray())
{
lista.Add(new Numero(int.Parse(item.ToString()), i-1));
i--;
}
return lista;
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas