Buenas a todos, quiero pasar el valor de una combo de euros a ptas. para ello hago lo siguiente:
onkeyup="ptas.value=parseFloat(this.value)*166.386 "
elproblema es que no me redondea.. hay alguna funcion que lo haga?
salu2
| |||
Problema con redondeo Buenas a todos, quiero pasar el valor de una combo de euros a ptas. para ello hago lo siguiente: onkeyup="ptas.value=parseFloat(this.value)*166.386 " elproblema es que no me redondea.. hay alguna funcion que lo haga? salu2 |
| |||
hola javierb, gracias por responder,pero no entiendo lo que me dices. quedaria algo asi? onkeyup="ptas.value=Math.round(this.value*100)/100"?? es que no entiendo la funcion. salu2 y gracias por las molestias |
| ||||
Hola de nuevo. Pues no puede explicarte mucho. En alguna parte leí que para redondear a un número determinado de decimales se multiplicaba, en este caso por 100 (10 elevado a 2) y se dividía también por 100. Lo único que he hecho es "traducirlo" a JavaScript. Siento no poder explicarlo mejor. Saludos, |
| |||
Hola. Primero se pasa de euros a ptas, como ya tenías. Luego el redondeo: como la función disponible en JS es el redondeo a enteros, debes pasar de ptas a céntimos (*100), redondear (Math.round) y luego volver a pasar a ptas (/100). De ese modo se redondea con dos decimales, que es lo lógico para la moneda. Por tanto, tienes que combinar los dos códigos anteriores: onkeyup="ptas.value=Math.round(this.value*166.386* 100)/100" o, lo que es lo mismo, onkeyup="ptas.value=Math.round(this.value*16638.6)/100" que te dará ptas con 2 decimales
__________________ Angel :cool: |