Convertir número a letras - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html) +--- Tema: Convertir número a letras (/thread-234.html) |
Convertir número a letras - kokodrilo - 15-01-2021 buenas, estoy trabajando en un código que pasa números a letras ejemplo: 10 a diez, 1001 a mil uno etc pero tengo un problema con la clase boxinteger creada por mi, y es que al llegar a diez cifras me da un error, alguien me puede ayudar con eso? el proyecto esta en la granja, saludos 0= cero 533= quinientos treinta y tres 1066= mil sesenta y seis 1599= mil quinientos noventa y nueve 2132= dos mil ciento treinta y dos 2665= dos mil seiscientos sesenta y cinco 3198= tres mil ciento noventa y ocho 3731= tres mil setecientos treinta y uno 4264= cuatro mil doscientos sesenta y cuatro 4797= cuatro mil setecientos noventa y siete 5330= cinco mil trecientos treinta 5863= cinco mil ochocientos sesenta y tres 6396= seis mil trecientos noventa y seis 6929= seis mil novecientos veintinueve 7462= siete mil cuatrocientos sesenta y dos 7995= siete mil novecientos noventa y cinco 8528= ocho mil quinientos veintiocho 9061= nueve mil sesenta y uno 9594= nueve mil quinientos noventa y cuatro 10127= diez mil ciento veintisiete 10660= diez mil seiscientos sesenta 11193= once mil ciento noventa y tres 11726= once mil setecientos veintiseis 12259= doce mil doscientos cincuenta y nueve 12792= doce mil setecientos noventa y dos 13325= trece mil trecientos veinticinco 13858= trece mil ochocientos cincuenta y ocho 14391= catorce mil trecientos noventa y uno 14924= catorce mil novecientos veinticuatro 15457= quince mil cuatrocientos cincuenta y siete 15990= quince mil novecientos noventa 16523= dieciséis mil quinientos veintitres 17056= diecisiete mil cincuenta y seis 17589= diecisiete mil quinientos ochenta y nueve 18122= dieciocho mil ciento veintidos 18655= dieciocho mil seiscientos cincuenta y cinco 19188= diecinueve mil ciento ochenta y ocho 19721= diecinueve mil setecientos veintiuno 20254= veite mil doscientos cincuenta y cuatro 20787= veite mil setecientos ochenta y siete 21320= veintiuno mil trecientos veite 21853= veintiuno mil ochocientos cincuenta y tres 22386= veintidos mil trecientos ochenta y seis 22919= veintidos mil novecientos diecinueve 23452= veintitres mil cuatrocientos cincuenta y dos 23985= veintitres mil novecientos ochenta y cinco 24518= veinticuatro mil quinientos dieciocho 25051= veinticinco mil cincuenta y uno 25584= veinticinco mil quinientos ochenta y cuatro 26117= veintiseis mil ciento diecisiete 26650= veintiseis mil seiscientos cincuenta 27183= veintisiete mil ciento ochenta y tres 27716= veintisiete mil setecientos dieciséis 28249= veintiocho mil doscientos cuarenta y nueve 28782= veintiocho mil setecientos ochenta y dos 29315= veintinueve mil trecientos quince 29848= veintinueve mil ochocientos cuarenta y ocho 30381= treinta mil trecientos ochenta y uno 30914= treinta mil novecientos catorce 31447= treinta y uno mil cuatrocientos cuarenta y siete 31980= treinta y uno mil novecientos ochenta 32513= treinta y dos mil quinientos trece 33046= treinta y tres mil cuarenta y seis 33579= treinta y tres mil quinientos setenta y nueve 34112= treinta y cuatro mil ciento doce 34645= treinta y cuatro mil seiscientos cuarenta y cinco 35178= treinta y cinco mil ciento setenta y ocho 35711= treinta y cinco mil setecientos once 36244= treinta y seis mil doscientos cuarenta y cuatro 36777= treinta y seis mil setecientos setenta y siete 37310= treinta y siete mil trecientos diez 37843= treinta y siete mil ochocientos cuarenta y tres 38376= treinta y ocho mil trecientos setenta y seis 38909= treinta y ocho mil novecientos nueve 39442= treinta y nueve mil cuatrocientos cuarenta y dos 39975= treinta y nueve mil novecientos setenta y cinco 40508= cuarenta mil quinientos ocho 41041= cuarenta y uno mil cuarenta y uno 41574= cuarenta y uno mil quinientos setenta y cuatro 42107= cuarenta y dos mil ciento siete 42640= cuarenta y dos mil seiscientos cuarenta 43173= cuarenta y tres mil ciento setenta y tres 43706= cuarenta y tres mil setecientos seis 44239= cuarenta y cuatro mil doscientos treinta y nueve 44772= cuarenta y cuatro mil setecientos setenta y dos 45305= cuarenta y cinco mil trecientos cinco 45838= cuarenta y cinco mil ochocientos treinta y ocho 46371= cuarenta y seis mil trecientos setenta y uno 46904= cuarenta y seis mil novecientos cuatro 47437= cuarenta y siete mil cuatrocientos treinta y siete 47970= cuarenta y siete mil novecientos setenta 48503= cuarenta y ocho mil quinientos tres 49036= cuarenta y nueve mil treinta y seis 49569= cuarenta y nueve mil quinientos sesenta y nueve Nota: lo remarcado con negrita no es el error de la pregunta, pero si un error que hay que corregir en el código RE: Convertir número a letras - guizans - 15-01-2021 A mi me da este error. RE: Convertir número a letras - kokodrilo - 15-01-2021 ese no es el error, lo baje de la granja con ubuntu y no me da ese error, el error es este: Type mismatch: wanted Integer, got String instead BoxInteger.Valor_Read.64 BoxInteger1 lo extraño es que te da el error a partir de las 10 cifras no antes, eso es lo que me descoloca. RE: Convertir número a letras - guizans - 15-01-2021 ¿Puede ser que el tipo da dato Integer no acepte tantas cifras? A lo mejor con uno tipo Long lo solucionas. Por decir algo RE: Convertir número a letras - kokodrilo - 15-01-2021 si puede ser voy a ver los limites de integer en la wiki gambas , pruebo y te comento The value of an Integer is between -2147483648 and +2147483647 RE: Convertir número a letras - kokodrilo - 15-01-2021 bueno cambie a long y parece que anda, gracias, lo voy a seguir revisando y trabajando en este código RE: Convertir número a letras - guizans - 15-01-2021 En Souceforge hay este programa que hace algo como el tuyo. Pero aviso, el codigo es un desastre, pero funciona RE: Convertir número a letras - kokodrilo - 17-01-2021 aquí corregí algunos errores, también cree la clase boxlong, similar su funcionamiento a boxinteger pero usando variables long, subo el proyecto con los avances, saludos 0= cero 533= quinientos treinta y tres 1066= mil sesenta y seis 1599= mil quinientos noventa y nueve 2132= dos mil ciento treinta y dos 2665= dos mil seiscientos sesenta y cinco 3198= tres mil ciento noventa y ocho 3731= tres mil setecientos treinta y uno 4264= cuatro mil doscientos sesenta y cuatro 4797= cuatro mil setecientos noventa y siete 5330= cinco mil trecientos treinta 5863= cinco mil ochocientos sesenta y tres 6396= seis mil trecientos noventa y seis 6929= seis mil novecientos veintinueve 7462= siete mil cuatrocientos sesenta y dos 7995= siete mil novecientos noventa y cinco 8528= ocho mil quinientos veintiocho 9061= nueve mil sesenta y uno 9594= nueve mil quinientos noventa y cuatro 10127= diez mil ciento veintisiete 10660= diez mil seiscientos sesenta 11193= once mil ciento noventa y tres 11726= once mil setecientos veintiséis 12259= doce mil doscientos cincuenta y nueve 12792= doce mil setecientos noventa y dos 13325= trece mil trecientos veinticinco 13858= trece mil ochocientos cincuenta y ocho 14391= catorce mil trecientos noventa y uno 14924= catorce mil novecientos veinticuatro 15457= quince mil cuatrocientos cincuenta y siete 15990= quince mil novecientos noventa 16523= dieciséis mil quinientos veintitrés 17056= diecisiete mil cincuenta y seis 17589= diecisiete mil quinientos ochenta y nueve 18122= dieciocho mil ciento veintidós 18655= dieciocho mil seiscientos cincuenta y cinco 19188= diecinueve mil ciento ochenta y ocho 19721= diecinueve mil setecientos veintiuno 20254= veite mil doscientos cincuenta y cuatro 20787= veite mil setecientos ochenta y siete 21320= veintiún mil trecientos veite 21853= veintiún mil ochocientos cincuenta y tres 22386= veintidós mil trecientos ochenta y seis 22919= veintidós mil novecientos diecinueve 23452= veintitrés mil cuatrocientos cincuenta y dos 23985= veintitrés mil novecientos ochenta y cinco 24518= veinticuatro mil quinientos dieciocho 25051= veinticinco mil cincuenta y uno 25584= veinticinco mil quinientos ochenta y cuatro 26117= veintiséis mil ciento diecisiete 26650= veintiséis mil seiscientos cincuenta 27183= veintisiete mil ciento ochenta y tres 27716= veintisiete mil setecientos dieciséis 28249= veintiocho mil doscientos cuarenta y nueve 28782= veintiocho mil setecientos ochenta y dos 29315= veintinueve mil trecientos quince 29848= veintinueve mil ochocientos cuarenta y ocho 30381= treinta mil trecientos ochenta y uno 30914= treinta mil novecientos catorce 31447= treinta y un mil cuatrocientos cuarenta y siete 31980= treinta y un mil novecientos ochenta 32513= treinta y dos mil quinientos trece 33046= treinta y tres mil cuarenta y seis 33579= treinta y tres mil quinientos setenta y nueve 34112= treinta y cuatro mil ciento doce 34645= treinta y cuatro mil seiscientos cuarenta y cinco 35178= treinta y cinco mil ciento setenta y ocho 35711= treinta y cinco mil setecientos once 36244= treinta y seis mil doscientos cuarenta y cuatro 36777= treinta y seis mil setecientos setenta y siete 37310= treinta y siete mil trecientos diez 37843= treinta y siete mil ochocientos cuarenta y tres 38376= treinta y ocho mil trecientos setenta y seis 38909= treinta y ocho mil novecientos nueve 39442= treinta y nueve mil cuatrocientos cuarenta y dos 39975= treinta y nueve mil novecientos setenta y cinco 40508= cuarenta mil quinientos ocho 41041= cuarenta y un mil cuarenta y uno 41574= cuarenta y un mil quinientos setenta y cuatro 42107= cuarenta y dos mil ciento siete 42640= cuarenta y dos mil seiscientos cuarenta 43173= cuarenta y tres mil ciento setenta y tres 43706= cuarenta y tres mil setecientos seis 44239= cuarenta y cuatro mil doscientos treinta y nueve 44772= cuarenta y cuatro mil setecientos setenta y dos 45305= cuarenta y cinco mil trecientos cinco 45838= cuarenta y cinco mil ochocientos treinta y ocho 46371= cuarenta y seis mil trecientos setenta y uno 46904= cuarenta y seis mil novecientos cuatro 47437= cuarenta y siete mil cuatrocientos treinta y siete 47970= cuarenta y siete mil novecientos setenta 48503= cuarenta y ocho mil quinientos tres 49036= cuarenta y nueve mil treinta y seis 49569= cuarenta y nueve mil quinientos sesenta y nueve RE: Convertir número a letras - Shell - 20-01-2021 kokodrilo: Según aparece en la granja el control ya tiene ¿ nueve meses ?. No aparenta ser el mismo. O al menos la misma función. No dice que convierta números a letras. No aparenta ser el mismo. Y boxlong no aparece al filtrarlo en la granja. Me he perdido algo por el camino. Así que era otro. Como dijiste boxinteg.. Saludos |