Dudas de Programacion » Scripting » JavaScript

Errores al multiplicar con decimales

(2 posts)
  1. 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>

    Posted 2 years ago #


  2. 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.

    Saludos
    Posted 2 years ago #

Reply

You must log in to post.

935 posts in 394 topics over 36 months by 349 of 787 members. Latest: Balkirium, redundantlogic2, shianim

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs