Advertisement
stoner93

Conversión de Num a Texto C#

Mar 29th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.62 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace FinalXML
  8. {
  9.     public class Conversion
  10.     {
  11.         public string enletras(string num)
  12.         {
  13.             string res, dec = "";
  14.             Int64 entero;
  15.             int decimales;
  16.             double nro;
  17.  
  18.             try
  19.             {
  20.                 nro = Convert.ToDouble(num);
  21.             }
  22.             catch
  23.             {
  24.                 return "";
  25.             }
  26.  
  27.             entero = Convert.ToInt64(Math.Truncate(nro));
  28.             decimales = Convert.ToInt32(Math.Round(((nro - entero) * 100), 2));
  29.             if (decimales > 0)
  30.             {
  31.                 dec = " Y " + decimales.ToString() + "/100";
  32.             }
  33.             else {
  34.                 dec = " Y  00 /100".ToString();
  35.             }
  36.  
  37.             res = toText(Convert.ToDouble(entero)) + dec;
  38.             return res;
  39.         }
  40.  
  41.         private string toText(double value)
  42.         {
  43.             string Num2Text = "";
  44.             value = Math.Truncate(value);
  45.             if (value == 0) Num2Text = "CERO";
  46.             else if (value == 1) Num2Text = "UNO";
  47.             else if (value == 2) Num2Text = "DOS";
  48.             else if (value == 3) Num2Text = "TRES";
  49.             else if (value == 4) Num2Text = "CUATRO";
  50.             else if (value == 5) Num2Text = "CINCO";
  51.             else if (value == 6) Num2Text = "SEIS";
  52.             else if (value == 7) Num2Text = "SIETE";
  53.             else if (value == 8) Num2Text = "OCHO";
  54.             else if (value == 9) Num2Text = "NUEVE";
  55.             else if (value == 10) Num2Text = "DIEZ";
  56.             else if (value == 11) Num2Text = "ONCE";
  57.             else if (value == 12) Num2Text = "DOCE";
  58.             else if (value == 13) Num2Text = "TRECE";
  59.             else if (value == 14) Num2Text = "CATORCE";
  60.             else if (value == 15) Num2Text = "QUINCE";
  61.             else if (value < 20) Num2Text = "DIECI" + toText(value - 10);
  62.             else if (value == 20) Num2Text = "VEINTE";
  63.             else if (value < 30) Num2Text = "VEINTI" + toText(value - 20);
  64.             else if (value == 30) Num2Text = "TREINTA";
  65.             else if (value == 40) Num2Text = "CUARENTA";
  66.             else if (value == 50) Num2Text = "CINCUENTA";
  67.             else if (value == 60) Num2Text = "SESENTA";
  68.             else if (value == 70) Num2Text = "SETENTA";
  69.             else if (value == 80) Num2Text = "OCHENTA";
  70.             else if (value == 90) Num2Text = "NOVENTA";
  71.             else if (value < 100) Num2Text = toText(Math.Truncate(value / 10) * 10) + " Y " + toText(value % 10);
  72.             else if (value == 100) Num2Text = "CIEN";
  73.             else if (value < 200) Num2Text = "CIENTO " + toText(value - 100);
  74.             else if ((value == 200) || (value == 300) || (value == 400) || (value == 600) || (value == 800)) Num2Text = toText(Math.Truncate(value / 100)) + "CIENTOS";
  75.             else if (value == 500) Num2Text = "QUINIENTOS";
  76.             else if (value == 700) Num2Text = "SETECIENTOS";
  77.             else if (value == 900) Num2Text = "NOVECIENTOS";
  78.             else if (value < 1000) Num2Text = toText(Math.Truncate(value / 100) * 100) + " " + toText(value % 100);
  79.             else if (value == 1000) Num2Text = "MIL";
  80.             else if (value < 2000) Num2Text = "MIL " + toText(value % 1000);
  81.             else if (value < 1000000)
  82.             {
  83.                 Num2Text = toText(Math.Truncate(value / 1000)) + " MIL";
  84.                 if ((value % 1000) > 0) Num2Text = Num2Text + " " + toText(value % 1000);
  85.             }
  86.  
  87.             else if (value == 1000000) Num2Text = "UN MILLON";
  88.             else if (value < 2000000) Num2Text = "UN MILLON " + toText(value % 1000000);
  89.             else if (value < 1000000000000)
  90.             {
  91.                 Num2Text = toText(Math.Truncate(value / 1000000)) + " MILLONES ";
  92.                 if ((value - Math.Truncate(value / 1000000) * 1000000) > 0) Num2Text = Num2Text + " " + toText(value - Math.Truncate(value / 1000000) * 1000000);
  93.             }
  94.  
  95.             else if (value == 1000000000000) Num2Text = "UN BILLON";
  96.             else if (value < 2000000000000) Num2Text = "UN BILLON " + toText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
  97.  
  98.             else
  99.             {
  100.                 Num2Text = toText(Math.Truncate(value / 1000000000000)) + " BILLONES";
  101.                 if ((value - Math.Truncate(value / 1000000000000) * 1000000000000) > 0) Num2Text = Num2Text + " " + toText(value - Math.Truncate(value / 1000000000000) * 1000000000000);
  102.             }
  103.             return Num2Text;
  104.  
  105.         }
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement