0 votos
por (40 puntos) en Javascript
Una duda. Tengo este script, pero he detectado el siguiente fallo: que si pones numeros enteros funciona muy bien, pero en cuanto pones un numero con decimales (por ej. 2,3) no funciona. ¿Es que javascript no soporta numeros con decimales? Si no, ¿cual es l solucion?

<SCRIPT LANGUAGE=JavaScript>

function Sumar() {

var val1;

var val2;

var val3;

val1 = (! parseInt(document.factura.sum1.value))?0:parseInt(document.factura.sum1.value);

val2 = (! parseInt(document.factura.sum2.value))?0:parseInt(document.factura.sum2.value);

val3 = (! parseInt(document.factura.sum3.value))?0:parseInt(document.factura.sum3.value);

document.factura.tot.value = val1 + val2 + val3;

}

</SCRIPT>

<form name=factura>

<tr><td><input type=text value="Item 1"></td>

<td><input name=sum1 size=5 onChange=Sumar()></td>

</tr>

<tr><td><input type=text value="Item 2"></td>

<td><input name=sum2 size=5 onChange=Sumar()></td>

</tr>

<tr><td><input type=text value="Item 3"></td>

<td><input name=sum3 size=5 onChange=Sumar()></td>

</tr>

<tr><td align=right><input type=button value="Total:" onClick=Sumar()></td>

<td><input name=tot size=6></td>

</tr>

</form>


1 Respuesta

0 votos
por (8.5k puntos)
parseInt es para convertir enteros, si vas a usar decimales necesitas parseFloat.

http://www.w3schools.com/jsref/jsref_parseFloat.asp

Espero que te sirva,

Un saludo.


Preguntas relacionadas

0 votos
0 respuestas
0 votos
0 respuestas
preguntado por admin (4.4k puntos) Ene 28, 2016 en Javascript
0 votos
0 respuestas
0 votos
2 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...