Foros del Web » Programando para Internet » ASP Clásico »

Error de ASP que me parece una verguenza

Estas en el tema de Error de ASP que me parece una verguenza en el foro de ASP Clásico en Foros del Web. Hola. Me he topado con un error garrafal de ASP que me parece una verguenza total. Si por ejemplo pones int(40) obviamente te va a ...
  #1 (permalink)  
Antiguo 12/11/2011, 08:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 171
Antigüedad: 15 años, 7 meses
Puntos: 2
Error de ASP que me parece una verguenza

Hola.

Me he topado con un error garrafal de ASP que me parece una verguenza total.

Si por ejemplo pones

int(40)

obviamente te va a dar 40 (recuerda que int lo que hace es quitar los decimales)

vale, pues si pones

int(0.4*100)

Te dará 40 también, por supuesto, no? Obviamente sí, da 40

int( (1.4-1) * 100 )

Eso también tendrá que dar 40 no? PUES NO!! da 39????

Alguien me puede explicar eso?
  #2 (permalink)  
Antiguo 15/11/2011, 19:33
Avatar de mc_quake  
Fecha de Ingreso: enero-2006
Ubicación: www.ecocargo.cl
Mensajes: 683
Antigüedad: 18 años, 4 meses
Puntos: 8
Respuesta: Error de ASP que me parece una verguenza

es por que la funcion int redondea usala sin int y luego le quitas los decimales para que no aproxime
__________________
Mc_Quake

Para ayudar en lo que se pueda:Zzz:
  #3 (permalink)  
Antiguo 15/11/2011, 21:04
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Error de ASP que me parece una verguenza

Bueno, no lo probé nunca (ni puedo hacerlo ahora), pero siempre le está aplicando int() a una operación que debería devolver 40 como resultado. Suena poco lógico el resutado. Tal vez haya una explicación........ tal vez no.
__________________
...___...
  #4 (permalink)  
Antiguo 17/11/2011, 15:49
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
Respuesta: Error de ASP que me parece una verguenza

Pues acabo de probar eso en un macro de excel, y la verdad es que no le encuentro explicación:

Código:
Sub ejemplo()
dato = 1.4 - 1
MsgBox (dato) 'esto devuelve 0,4
dato = dato * 100
MsgBox (dato) 'esto devuelve 40
dato = Int(dato)
MsgBox (dato) 'esto devuelve 39
End Sub
Si alguien tiene respuesta, sería interesante saber porqué VB trata eso de esta forma.
  #5 (permalink)  
Antiguo 19/11/2011, 05:10
 
Fecha de Ingreso: octubre-2008
Mensajes: 171
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Error de ASP que me parece una verguenza

La funcion int no redondea que yo sepa, mc_quake, además, fijate en lo que dice nuestro amigo 3pies, ha probado esa función en excel, y.. redondear 40, da 39. Le ven alguna lógica?

Lo que he tenido que hacer ha sido una función por mi mismo que todo lo que haya detrás de una coma o un punto lo quite. Así funciona de lujo, a la porra el int.


Última edición por davape9; 26/11/2011 a las 04:18

Etiquetas: asp, verguenza
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:10.