Visual Basic - Error de desbordamiento

Life is soft - evento anual de software empresarial
 
Vista:

Error de desbordamiento

Publicado por Wil (2 intervenciones) el 20/09/2007 20:35:24
Saludos,

La pregunta que les tengo es la siguiente,

Por ejemplo: Quiero calcular el residuo de un numero de 13 digito entre el numero 23 pero me envía desbordamiento, como resuelvo este inconveniente,

Dim Var As Long

Var =8527285856532 mod 23
Esto me imprime error de desbordamiento

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error de desbordamiento

Publicado por Sin nombre (2 intervenciones) el 20/09/2007 22:16:27
Claro, estás sobrepasando el máximo permitido para una variable Long y la capacidad del Mod. Te recomiendo usar variables de tipo Currency, y hacer lo que la función Mod realiza, algo así (ejemplo probado):

Dim Var As Currency

Var = 8527285856532
Var = Var - Int(Var / 23) * 23
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de desbordamiento

Publicado por Con nombre (1 intervención) el 20/09/2007 23:20:07
y porqué tiene que ser la variable de tipo Currency?

mira este ejemplo (y lo pruebas)

Dim var As Double
var = 8527285856532
var = (var / 100000) Mod 23

ahora comparas con lo que pusiste antes, el resultado tuyo creo que es 15 y el mio 14.

¿Cual crees que es el correcto de los dos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de desbordamiento

Publicado por Sin nombre (2 intervenciones) el 21/09/2007 00:21:12
Pues tú dime, estás dividiendo entre 100000 y luego aplicas MOD ¿crees que sea correcto tu resultado?
O sea, la cantidad original ya no es la misma y a esto le aplicas el MOD 23 ...
En fin.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error de desbordamiento

Publicado por Wil (2 intervenciones) el 21/09/2007 20:21:37
muchas gracias me sirvio el ejercicio,

Dim Var As Currency

Var = 8527285856532
Var = Var - Int(Var / 23) * 23

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar