Gracias Marc, no quería llegar a hacer ese tipo de cosas (cada vez que
multiplique o sume dos valores, tener que llamar a una función inventada por
mí), pero si no queda otra solución...

De paso, les cuento que este problema sucede con:
0.1 * 3
0.1 * 6
0.1 * 7

01. + 0.2

Saludos!!!

El día 16/07/07, Marc Palau <[EMAIL PROTECTED]> escribió:
>
> la chapuza es:
>
> <script type="text/javascript">
> function multi(a,b){
> _a=a*10;
> _b=b*10;
> return (_a*_b)/100;
> }
> alert(multi(0.1,3));
> </script>
>
> ahora miraré operando con bits a ver si pasa lo mismo :), al menos con eso
> te soluciona la papeleta jejeje.
>
> saludos!
> Marc
> http://www.nbsp.es
>
> ----- Original Message -----
> From: "Juan José Montes de Oca Arbós" <[EMAIL PROTECTED]
> >
> To: "ListaJavaScript" <javaescript@scriptia.net>
> Sent: Monday, July 16, 2007 3:00 PM
> Subject: [javaEScript] 0.1 * 3 = 0.30000000000000004
>
>
> Buenas a todos... a ver si alguno conoce una solución para el siguiente
> problema.
>
> Tanto en IE 6 como en FF2, al multiplicar 0.1 * 3 en lugar de
> devolverme 0.3devuelve
> 0.30000000000000004.
>
> Estuve leyendo varios articulos de internet, y encontré que es una
> problema
> en la forma de representar los números, y hay ejemplos que utilizando
> algunos tipos de datos en ciertos lenguajes se soluciona, pero en JS no
> encontré forma de solucionarlo... ¿alguien sabe como solucionarlo?
>
> He aquí varios ejemplos del problema:
>
> Ejemplo 1 (usando inputs para cargar y mostrar el problema)
>
> ///////////////////////////////////////////////////////////////////////////////////////
> <html>
>     <head>
>         <script language="javascript">
>         function cuenta () {
>             var a = document.getElementById ('a').value;
>             var b = document.getElementById ('b').value;
>             document.getElementById ('c').value = a * b;
>         }
>         </script>
>     </head>
>     <body>
>         <input id="a" type="text" />
>         <input id="b" type="text" />
>         <input id="c" type="text" />
>         <img onclick="cuenta ();" />
>     </body>
> </html>
>
>
> Ejemplo 2 (forzando los valores desde el programa)
> //////////////////////////////////////////////////////////////////////////
> <html>
>     <head>
>         <script language="javascript">
>         function cuenta () {
>             var a = 0.1;
>             var b = 3;
>             alert (a * b);
>         }
>         </script>
>     </head>
>     <body>
>         <img onclick="cuenta ();" />
>     </body>
> </html>
>
>
> Saludos!!!!
>
> --
> Juan José Montes de Oca Arbós.
>
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
> http://world5.monstersgame.es/?ac=vid&vid=58044309
> http://www.montesoft.com.ar
> http://www.es-facil.com/ganar/alta?Id=64395956
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL:
>
> http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070716/19863274/attachment.htm
> _______________________________________________
> javaEScript mailing list
> javaEScript@scriptia.net
> http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net
>
>


-- 
Juan José Montes de Oca Arbós.

[EMAIL PROTECTED]
[EMAIL PROTECTED]
http://world5.monstersgame.es/?ac=vid&vid=58044309
http://www.montesoft.com.ar
http://www.es-facil.com/ganar/alta?Id=64395956
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
http://lists.scriptia.net/pipermail/javaescript-scriptia.net/attachments/20070716/8e7c3dcb/attachment.html
 
_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a