elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Convertir numeros a letras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Convertir numeros a letras  (Leído 8,202 veces)
NightMoonKiller

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Convertir numeros a letras
« en: 8 Mayo 2011, 03:10 am »

Hola... Soy bien nuevo por aki... y necesito crear para un ejercicio del cole un programa que me pueda leer un numero y lo devuelva en tipo texto.
Por ejemplo:

1226
y que devuelva:
mil doscientos veinte y seis....

no se como hacerlo... si alguien pudiera ayudarme =S no se ni como empezar (mi profe no sabe 3 carajos de programacion ¬¬)


« Última modificación: 8 Mayo 2011, 17:24 pm por raul338 » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: Ayuda con Visual 6.0
« Respuesta #1 en: 8 Mayo 2011, 03:44 am »

HOLA!!!

En las reglas del foro dice claramente que no se hacen tareas.

Si queres un lugar por donde empezar busca sobre Numbers To Letters.

Google NO MUERDE!

GRACIAS POR LEER!!!


En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda con Visual 6.0
« Respuesta #2 en: 8 Mayo 2011, 04:45 am »

Sabes programacion? Al menos sabes como tienes que hacerlo en instrucciones?

Podes buscar formas logicas y luego plasmarlo en programacion, especifica mas que dudas tienes
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Convertir numeros a letras
« Respuesta #3 en: 9 Mayo 2011, 05:57 am »

.
Numeros a letras:  < Click Aquí >

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Convertir numeros a letras
« Respuesta #4 en: 9 Mayo 2011, 10:17 am »

.
Numeros a letras:  < Click Aquí >

Dulces Lunas!¡.
Creo que pusiste mal el link... :silbar: :laugh:

[OffTopic]
@Black debes revisar tu blog, de repente se volvió loco y me empezó a cargar todo el rato la misma entrada del blog. :-\
[/OffTopic]

DoEvents! :P
« Última modificación: 9 Mayo 2011, 19:44 pm por Psyke1 » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Convertir numeros a letras
« Respuesta #5 en: 9 Mayo 2011, 19:19 pm »

.
la liga la puse asi a propósito... ya que era una tarea.

dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Convertir numeros a letras
« Respuesta #6 en: 9 Mayo 2011, 19:34 pm »


[editado]

DoEvents! :P
« Última modificación: 9 Mayo 2011, 19:38 pm por Psyke1 » En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: Convertir numeros a letras
« Respuesta #7 en: 9 Mayo 2011, 23:23 pm »

Numeros a letras: < Click Aquí >

LOL.. Como me rei con esto..!
En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: Convertir numeros a letras
« Respuesta #8 en: 10 Mayo 2011, 22:41 pm »

Weno estaba sin nada que hacer entonces me lo puse a razonar, éste código no está optimizado.
No programo de una manera determinada, lo hago con respecto a las reacciones cerebrales dependiendo de ciertos estímulos, oséa que mañana lo puedo pensar de una manera diferente... acá dejo el código (Y).

PD: no sé hasta que número capta bien. créo que hasta 999.999.999
PD2: pueden haber errores gramaticales *-)  :silbar:

Código
  1. [Form]
  2. Option Explicit
  3.  
  4. Private Sub Command1_Click()
  5.  
  6. Text2.Text = NumersToLetters(Val(Text1.Text))
  7.  
  8. Exit Sub
  9. '1226
  10. 'y que devuelva:
  11. 'mil doscientos veinte y seis....
  12. Dim num As Double
  13.  
  14. 'num = 1.000.000.000.000
  15. num = 1000000000000#
  16.  
  17. MsgBox num
  18.  
  19. MsgBox Val(Text1.Text)
  20. End Sub
  21.  
  22. Private Sub Form_Load()
  23. 'Dim p As Byte
  24.  
  25. 'p = 99
  26.  
  27. 'Select Case p
  28. '    Case 1 To 99
  29. '        MsgBox "< 100"
  30. '    Case Else
  31. '        MsgBox "> 100"
  32. 'End Select
  33. End Sub
  34.  
  35. Private Sub Text1_KeyPress(KeyAscii As Integer)
  36. If KeyAscii = 8 Then Exit Sub
  37. If IsNumeric(Chr(KeyAscii)) <> True Then KeyAscii = 0
  38. End Sub
  39.  

Código
  1. Option Explicit
  2. '----------------------------------------------------------------------------------------
  3. ' Module            : NumbersToLetters
  4. ' Purpose           : Numbers to letters
  5. ' Author            : Misery
  6. ' DateTime_Begin    : 09/05/2011
  7. ' DateTime_End      : 10/05/2011
  8. '----------------------------------------------------------------------------------------
  9.  
  10. 'http://roble.pntic.mec.es/msanto1/ortografia/numeros.htm
  11.  
  12. 'unidad = cero, uno, dos, tres, cuatro, cinco, seis, siete, ocho, nueve, diez
  13. 'decena = once, doce, trece, catorce, quince, ->(Ahora aparece el Copy Paste) dieciséis, diecisiete,
  14.    'dieciocho, diecinueve, veinte, veintiuno, veintidós, veintitrés, veinticuatro, veinticinco, veintiséis
  15.    'veintisiete, veintiocho, veintinueve, treinta, treinta y uno, treinta y dos, cuarenta, cuarenta y uno
  16.    'cincuenta, sesenta, setenta, ochenta, noventa
  17. 'centena: cien, ciento uno, ciento dos, doscientos, doscientos dos, trescientos, cuatrocientos, quinientos
  18.    'seiscientos, setecientos, ochocientos, novecientos
  19.  
  20.  
  21.  
  22. 'unidad de mil: mil, dos mil, tres mil, cuatro mil, cinco mil, seis mil, siete mil, ocho mil, nueve mil
  23. 'decena de mil: diez mil (10.000)
  24. 'centena de mil: cien mil (100.000), quinientos mil (500.000)
  25. 'unidad de millon?: un millón (1.000.000)---------------------------------DIE HERE
  26. 'decena de millon?: diez millones (10.000.000)
  27. 'centena de millon?: cien millones (100.000.000)
  28. 'mil millones (1.000.000.000)
  29. 'diez mil millones (10.000.000.000)
  30. 'cien mil millones (100.000.000.000)
  31. 'un billón (1.000.000.000.000)
  32.  
  33. '*Long (4) Números enteros en el rango de -2.147.483.648 a 2.147.483.647
  34.  
  35. 'Se me fueron las ganas de hacer este programa, y solamente hice los comentarios...
  36.  
  37. '1226
  38. 'y que devuelva:
  39. 'mil doscientos veinte y seis.... -> mil doscientos veintiseis, lol, que ironía.
  40.  
  41. Public unidad(0 To 15) As String
  42. Public Subunidad(0 To 10) As String
  43.  
  44. Public decena(0 To 9) As String
  45. Public centena(0 To 9) As String
  46.  
  47. Public mil(0 To 9) As String
  48.  
  49. Sub Main()
  50. Call Config
  51. Form1.Show
  52. End Sub
  53.  
  54. Public Sub Config()
  55. Dim i As Byte
  56.  
  57. '#############################################################
  58.                   '                DECENA(0,1,2,3)                                        CENTENA(4,5,6,7) ->                                  MIL(8,9)
  59. unidad(0) = "cero": Subunidad(0) = ""
  60. unidad(1) = "uno": Subunidad(1) = "on;die;ci;":             Subunidad(1) = Subunidad(1) & ";c;ien;;" ':           Subunidad(1) = Subunidad(1) & ";;mil"
  61. unidad(2) = "dos": Subunidad(2) = "do;ve;int;":             Subunidad(2) = Subunidad(2) & ";c;ien;dos;tos" ':     Subunidad(2) = Subunidad(2) & ";dos ;mil"
  62. unidad(3) = "tres": Subunidad(3) = "tre;tre;int;a":         Subunidad(3) = Subunidad(3) & ";c;ien;tres;tos" ':    Subunidad(3) = Subunidad(3) & ";tres ;mil"
  63. unidad(4) = "cuatro": Subunidad(4) = "cator;cuar;ent;a":    Subunidad(4) = Subunidad(4) & ";c;ien;cuatro;tos" ':  Subunidad(4) = Subunidad(4) & ";cuatro ;mil"
  64. unidad(5) = "cinco": Subunidad(5) = "quin;cincu;ent;a":     Subunidad(5) = Subunidad(5) & ";;ien;quin;tos" ':     Subunidad(5) = Subunidad(5) & ";cinco ;mil"
  65. unidad(6) = "seis": Subunidad(6) = "ses;ses;ent;a":         Subunidad(6) = Subunidad(6) & ";c;ien;seis;tos" ':    Subunidad(6) = Subunidad(6) & ";seis ;mil"
  66. unidad(7) = "siete": Subunidad(7) = "set;set;ent;a":        Subunidad(7) = Subunidad(7) & ";c;ien;sete;tos" ':    Subunidad(7) = Subunidad(7) & ";siete ;mil"
  67. unidad(8) = "ocho": Subunidad(8) = "och;och;ent;a":         Subunidad(8) = Subunidad(8) & ";c;ien;ocho;tos" ':    Subunidad(8) = Subunidad(8) & ";ocho ;mil"
  68. unidad(9) = "nueve": Subunidad(9) = "nov;nov;ent;a":        Subunidad(9) = Subunidad(9) & ";c;ien;nove;tos" ':    Subunidad(9) = Subunidad(9) & ";nueve ;mil"
  69. unidad(10) = "diez" ': Subunidad(10) = "en;ento;tos;ien"
  70.  
  71. 'Numeros molestos
  72. 'once, doce, trece, catorce, quince
  73. 'unidad(11) = "once" 'DEATH
  74. For i = 1 To 5
  75.    unidad(i + 10) = Split(Subunidad(i), ";")(0) & "ce"
  76. Next i
  77. 'unidad(12) = "doce" 'DEATH
  78. 'unidad(13) = "trece" 'DEATH
  79. 'unidad(14) = "catorce" 'DEATH
  80. 'unidad(15) = "quince" 'DEATH
  81.  
  82. '#############################################################
  83.  
  84. For i = 1 To 9
  85.    decena(i) = Split(Subunidad(i), ";")(1) & Split(Subunidad(i), ";")(2) & Split(Subunidad(i), ";")(3)
  86.    'If i = 1 Then
  87.    '    decena(i) = Split(Subunidad(i * 10), ";")(1) & "ci" 'dieci-séis, dieci-siete, dieci-ocho, dieci-nueve
  88.    'Else
  89.    '    decena(i) = Split(Subunidad(i * 10), ";")(1) & "int"
  90.    '    If i > 2 Then decena(i) = decena(i) & "a"
  91.    'End If
  92. Next i
  93.  
  94. 'decena(1) = Subunidad(10) & "ci" '>= 16 dieci-séis, dieci-siete, dieci-ocho, dieci-nueve
  95. 'decena(2) = "veint" 'veint e 20 / veint i 20+ +numero
  96. ''Acá puedo hacer lo mismo que abajo, hay un patrón para éstos números, pero mucho bardo
  97. 'decena(3) = "treinta" ' y +numero
  98. 'decena(4) = "cuarenta" ' y +numero
  99. 'decena(5) = "cincuenta" ' y +numero
  100. 'decena(6) = "sesenta" ' y +numero
  101. 'decena(7) = "setenta" ' y +numero
  102. 'decena(8) = "ochenta" ' y +numero
  103. 'decena(9) = "noventa" ' y +numero
  104. 'decena(10) = "cien"
  105.  
  106. '#############################################################
  107.  
  108. 'centena(1) = "cien" ' +numero
  109. For i = 1 To 9 '                                                        C                            IEN                           TOS
  110.    centena(i) = Split(Subunidad(i), ";")(6) & Split(Subunidad(i), ";")(4) & Split(Subunidad(i), ";")(5) & Split(Subunidad(i), ";")(7)
  111. Next i
  112. 'numero + cien + tos
  113. 'centena(2) = "doscientos"
  114. 'centena(3) = "trescientos"
  115. 'centena(4) = "cuatrocientos"
  116. 'centena(5) = "quinientos"
  117. 'centena(6) = "seiscientos"
  118. 'centena(7) = "setecientos"
  119. 'centena(8) = "ochocientos"
  120. 'centena(9) = "novecientos"
  121.  
  122. '#############################################################
  123.  
  124. 'For i = 1 To 9 '                    NUM                          MIL
  125. '    mil(i) = Split(Subunidad(i), ";")(8) & Split(Subunidad(i), ";")(9)
  126. 'Next i
  127. End Sub
  128.  
  129. Public Function NumersToLetters(ByVal Number As Double) As String
  130. On Local Error Resume Next
  131. Dim u As Byte, d As Byte, c As Byte
  132.  
  133. Dim tLoop As Byte, Rta As String, cont As Byte
  134. Dim partes(1 To 3) As String 'x millones + x miles + c + d + u
  135.  
  136. 'u = Mid(StrReverse(Number), 1, 1)
  137. 'd = Mid(StrReverse(Number), 2, 1)
  138. 'c = Mid(StrReverse(Number), 3, 1)
  139. '.
  140.  
  141. For tLoop = 1 To Len(CStr(Number))
  142.    u = Mid(StrReverse(Number), tLoop, 1)
  143.  
  144.    If tLoop + 1 > Len(CStr(Number)) Then
  145.        d = 0
  146.    Else
  147.        d = Mid(StrReverse(Number), tLoop + 1, 1)
  148.    End If
  149.  
  150.    If tLoop + 2 > Len(CStr(Number)) Then
  151.        c = 0
  152.    Else
  153.        c = Mid(StrReverse(Number), tLoop + 2, 1)
  154.    End If
  155.  
  156.    Rta = Ret_C(c, d, u) & " " & Ret_DU(c, d, u, cont, Len(CStr(Number))) & " " & RetornarPunto(tLoop, c, d, u)
  157.    tLoop = tLoop + 2
  158.    cont = cont + 1
  159.    partes(cont) = Rta
  160. Next tLoop
  161.  
  162. 'If Number > 1000000 Then
  163. '    NumersToLetters = "Error, solo hasta 1 millon."
  164. '    Exit Function
  165. 'End If
  166.  
  167. Dim p_d As String, p_c As String
  168.  
  169. 'p_d = Ret_DU(c, d, u)
  170. 'p_c = Ret_C(c, d, u)
  171.  
  172. 'NumersToLetters = p_c & " " & p_d
  173. NumersToLetters = Trim(Trim(partes(3)) & " " & Trim(partes(2)) & IIf(Trim(partes(2)) <> "", " ", "") & Trim(partes(1)))
  174. End Function
  175.  
  176. Public Function Ret_DU(ByVal c As Byte, ByVal d As Byte, ByVal u As Byte, ByVal Punto As Byte, ByVal Longitud As Byte) As String
  177. If (c * 100) + (d * 10) + (u * 1) = 0 And Longitud < 4 Then
  178.    Ret_DU = unidad(u)
  179.    Exit Function
  180. End If
  181. Select Case d
  182.    Case 0
  183.        If Punto = 0 Then
  184.            Ret_DU = IIf(u > 0, unidad(u), "")
  185.        ElseIf Punto >= 1 Then
  186.            If u = 1 Then
  187.                Ret_DU = "un"
  188.            Else
  189.                Ret_DU = IIf(u > 1, unidad(u), "")
  190.            End If
  191.        End If
  192.    Case 1
  193.        Select Case (d * 10) + u
  194.            Case 10
  195.                Ret_DU = unidad((d * 10) + u)
  196.            Case 11 To 15
  197.                Ret_DU = unidad((d * 10) + u)
  198.            Case Else
  199.                Ret_DU = decena(1) & unidad(u)
  200.        End Select
  201.    Case 2
  202.        Select Case (d * 10) + u
  203.            Case 20
  204.                Ret_DU = decena(2) & "e"
  205.            Case Else
  206.                Ret_DU = decena(2) & "i" & unidad(u)
  207.        End Select
  208.    Case Else
  209.        'Ret_DU = decena(d) & IIf(u > 0, " y ", "") & IIf(u > 0, unidad(u), "")
  210.        Ret_DU = decena(d) & IIf(u > 0, " y ", "") & IIf(u > 0, unidad(u), "")
  211.        If Punto > 0 Then Ret_DU = Replace(Ret_DU, "uno", "un")
  212.            'Esto es para q no diga 331123 - trescientos treinta y "uno" mil ciento veintitres
  213.            'Muchas cosas que modifiké son este tipo de casos...
  214. End Select
  215. 'diez
  216. 'once
  217. 'doce
  218. 'trece
  219. 'catorce
  220. 'quince
  221. 'dieci-seis
  222. 'dieci-siete
  223. 'dieci-ocho
  224. 'dieci-nueve
  225.  
  226. 'veint-e
  227. 'veint-i-uno
  228. 'veint-i-dos
  229. 'veint-i-tres
  230. 'veint-i-cuatro
  231. 'veint-i-cinco
  232. 'veint-i-seis
  233. 'veint-i-siete
  234. 'veint-i-ocho
  235. 'veint-i-nueve
  236. End Function
  237.  
  238. Public Function Ret_C(ByVal c As Byte, ByVal d As Byte, ByVal u As Byte) As String
  239. Select Case c
  240.    Case 1
  241.        Select Case (d * 10) + u
  242.            Case 0
  243.                Ret_C = centena(c)
  244.            Case Else
  245.                Ret_C = centena(c) & "to"
  246.        End Select
  247.    Case Else
  248.        Ret_C = centena(c)
  249. End Select
  250. End Function
  251.  
  252. Public Function RetornarPunto(ByVal tLoop As Byte, ByVal c As Byte, ByVal d As Byte, ByVal u As Byte) As String
  253. Select Case tLoop
  254.    Case 4
  255.        RetornarPunto = IIf(c * 100 + d * 10 + u * 1 > 0, "mil", "")
  256.    Case 7
  257.        RetornarPunto = "millon" & IIf(c * 100 + d * 10 + u * 1 > 1, "es", "")
  258. End Select
  259. End Function
  260.  
« Última modificación: 11 Febrero 2019, 16:35 pm por Miseryk » En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: Convertir numeros a letras
« Respuesta #9 en: 10 Mayo 2011, 23:05 pm »

HOLA!!!

@Miseryk : La idea era no ponerle el codigo hecho ¬¬' deberias modificar el mensaje.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como convertir numeros decimales a numeros binario en c++?
Programación C/C++
fco_noh 3 9,230 Último mensaje 31 Agosto 2010, 07:38 am
por do-while
[Libreria] Convertir Numeros a Letras/Texto (solved)
PHP
Diabliyo 1 6,069 Último mensaje 27 Febrero 2012, 18:29 pm
por Diabliyo
Combinaciones letras o numeros « 1 2 »
.NET (C#, VB.NET, ASP)
luis456 11 8,977 Último mensaje 8 Febrero 2014, 11:43 am
por luis456
Pasar letras a números
Programación C/C++
JonaLamper 1 1,871 Último mensaje 25 Octubre 2015, 18:38 pm
por ivancea96
Diccionario de 8 caracteres: números y letras mayúsculas.
Hacking Wireless
buite 2 5,582 Último mensaje 2 Marzo 2019, 11:32 am
por buite
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines