Foros del Web » Programando para Internet » Javascript »

Problemas Al Sumar Dos Valores En Javascrip

Estas en el tema de Problemas Al Sumar Dos Valores En Javascrip en el foro de Javascript en Foros del Web. El dia de hoy me encontrado con un problema enorme en javascript, y en una operacion tan simple como sumar, PIDO A UD UN POCO ...
  #1 (permalink)  
Antiguo 20/06/2003, 17:45
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta Problemas Al Sumar Dos Valores En Javascrip

El dia de hoy me encontrado con un problema enorme en javascript, y en una operacion tan simple como sumar, PIDO A UD UN POCO DE SU TIEMPO HABER SI ES QUE ME PUEDE AYUDAR!
ej:

hice lo siguien sume "22236.19" + "73.21" lo cual deberia dar 22309.40

pero nose por que me da 22309.399999999997 ¿?



al final pogo el ejemplo de el error si lo suman en la calculadora
los valores salen bien pero en la web sale mal

este es el codigo que estoy ejecutando !!!!

<script>
var aa= parseFloat(22236.19)+parseFloat(73.21);
document.write(aa);
</script>



ALGUIEN TIENE UNA SOLUCION?? PORFAVOR!!!!
  #2 (permalink)  
Antiguo 20/06/2003, 17:55
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
<script>
var aa= ((22236.19*100)+(73.21*100))/100;
document.write(aa);
</script>
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 20/06/2003, 18:00
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
Y POR QUE SE DEBE HACER ESTA OPERACION??

CUAL ES PROBLEMA???
  #4 (permalink)  
Antiguo 20/06/2003, 18:02
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
GRACIAS!

Cita:
Mensaje Original por Bravenap
<script>
var aa= ((22236.19*100)+(73.21*100))/100;
document.write(aa);
</script>
  #5 (permalink)  
Antiguo 21/06/2003, 02:31
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Hola Ds1, bueno, creo que por tu segundo mensaje lo debes haber entendido. Seguro que hay una manera de hacerlo más profesional, con alguna función y todo eso, pero creo que a veces si con unas matemáticas la mar de sencillas funciona, pues para que comerse el tarro.

Por cierto, intenta no escribir en mayúsculas. Significa que estás gritando y eso, pues no agrada a mucha gente. Ya sabes.

Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #6 (permalink)  
Antiguo 21/06/2003, 19:06
Usuario no validado
 
Fecha de Ingreso: julio-2001
Mensajes: 766
Antigüedad: 22 años, 9 meses
Puntos: 0
lo mismo pero diferente

<script>
var aa= parseFloat(22236.19)+parseFloat(73.21);
document.write(Math.round(aa*100)/100);
</script>
  #7 (permalink)  
Antiguo 22/06/2003, 05:19
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Pues lo dicho, más profesional.

Un saludo a los dos.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #8 (permalink)  
Antiguo 23/06/2003, 07:46
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
ok gracias a ambos!
  #9 (permalink)  
Antiguo 23/06/2003, 08:01
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta

me podria explicar el por que * 100 y /100 el problema se resuelve??

el modo que ud me dijo !!
no deberia tener problema con aprocimaciones de decimales
de otros valores¿?






Cita:
Mensaje Original por Bravenap
Hola Ds1, bueno, creo que por tu segundo mensaje lo debes haber entendido. Seguro que hay una manera de hacerlo más profesional, con alguna función y todo eso, pero creo que a veces si con unas matemáticas la mar de sencillas funciona, pues para que comerse el tarro.

Por cierto, intenta no escribir en mayúsculas. Significa que estás gritando y eso, pues no agrada a mucha gente. Ya sabes.

Un saludo.
  #10 (permalink)  
Antiguo 23/06/2003, 08:14
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Bueno, había supuesto que todos los números a sumar tendrían como máximo dos decimales. Por tanto, al multiplicarlos por 100 quedarían siempre números enteros que se sumarían sin mayores complicaciones. Luego el resultado final siempre será un número entero que al realizar la operación inversa, es decir, multiplicarlo por 1/100, se obtendría un número con dos cifras decimales.

No sé si la manera en que lo he puesto permitiría la suma de números de más de dos cifras decimales si es que necesitas un resultado que no esté redondeado.

Sería cuestión de probar el código de unKnown ( ) quitándole Math.round. Sinceramente, siempre me lio un poco con esto de los decimales y los números y los tipos de datos .... ¡¿Por qué no podrán ser inteligentes los ordenadores?!

Hala, un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 19:26.