Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Convertir número a letras
#1

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

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#2

A mi me da este error.

[Imagen: ZyO17CR.png]
    ¡Gracias!
#3

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.

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#4

¿Puede ser que el tipo da dato Integer no acepte tantas cifras? A lo mejor con uno tipo Long lo solucionas. Por decir algo
    ¡Gracias!
#5

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

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#6

bueno cambie a long y parece que anda, gracias, lo voy a seguir revisando y trabajando en este código

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#7

En Souceforge hay este programa que hace algo como el tuyo. Pero aviso, el codigo es un desastre, pero funciona Rolleyes
    ¡Gracias!
#8

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

El tiempo de las manifestaciones caducó pero el boicot con auto sacrificio es el camino para derrotar al sistema.
    ¡Gracias!
#9

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.

[Imagen: vlH30vh.png]
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. Rolleyes

Así que era otro.

[Imagen: okqyk4t.png]

Como dijiste boxinteg.. Tongue

Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)