Hola

Aparte de lo que comentaba Hernan fijate si podes levantar el numero de 
otra manera. Tambien tiene que ver cómo se parsea el numero y se 
convierte a Float en cada Smalltalk, si se usan librerias del SO, etc.

No probe en VAST pero simplemente esto en Visual Smalltalk
1.1151 roundTo: 0.01 -> 1.12
70.0851 roundTo: 0.01 -> 70.09
Fijate que agregarle un digito mas de precision hace que devuelva 
valores correctos. Obvio, no es el mismo numero.

Si buscas por Internet vas a encontrar miles de explicaciones se por qué 
no se pueden representar en forma binaria y exacta cualquier numero decimal.

Saludos
  GallegO

Santiago Cardoso Geller escribió:
> Hola amigos. Quería comentar una experiencia.
> 
> En VAST 6.0.3, el resultado de
> 
> 1.115 roundTo: 0.01 es 1.11 cuando debería ser 1.12.
> Lo mismo pasa con 70.085. 70.085 roundTo: 0.01 -> 70.08 cuando debería
> ser 70.09. Probé lo mismo convirtiéndolos a ScaledDecimal. No se
> arregla.
> 
> Probé en VAST 4.5, pero también anda de la misma forma.
> 
> Me fijé en Dolphin, y el primer caso devuelve el resultado esperado.
> 1.115 roundTo: 0.01 -> 1.12
> 
> Pero con el otro numero no. Sigue andando "mal".
> 70.085. 70.085 roundTo: 0.01 -> 70.08
> 
> La implementación de #roundTo: en ambos ST son distintas. Pero igual
> no andaría ninguna de las dos.
> 
> ¿Alguien tuvo este tipo de problemas? ¿Tiene alguna solución?
> 
> Gracias y abrazo para todos,
> Santiago
> 
> 
> > 
> 


--~--~---------~--~----~------------~-------~--~----~
Ha recibido este mensaje porque está suscrito a Grupos de Google 
"clubSmalltalk" grupo.
 Si quiere publicar en este grupo, mande un correo electrónico a 
[email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para visualizar más opciones, visite este grupo 
enhttp://groups.google.com/group/clubSmalltalk
-~----------~----~----~----~------~----~------~--~---

Responder a