2011-04-28 17 views
7

consigo 28.6813276578 cuando multiplico 2 números a y b, ¿cómo puedo hacer que sea número entero con menos dígitosnúmero entero en javascript?

y también, cuando multiplico nuevo i obtener resultados después de la primera reult como 28.681321405.4428.68 Cómo único resultado?

<script> 
    $(document).ready(function(){ 
    $("#total").hide(); 
    $("#form1").submit(function(){ 

    var a = parseFloat($("#user_price").val()); 
    var b = parseFloat($("#selling").val()); 
    var total = a*b; 



    $("#total").append(total) 
    .show('slow') 
    .css({"background":"yellow","font-size":50}) 
    ; 
    return false; 
    }); 

    }); 
</script> 

Respuesta

23

Usted puede hacer varias cosas:

total = total.toFixed([number of decimals]); 
total = Math.round(total); 
total = parseInt(total); 
  1. toFixed() redondeará su número al número de decimales indicado.

  2. Math.round() redondeará los números al número entero más cercano.

  3. parseInt() tomará una cadena e intentará analizar un entero sin redondear. parseInt() es un poco más complicado, ya que analizará los primeros caracteres de una cadena que son números hasta que no lo son, lo que significa que parseInt('123g32ksj') devolverá 123, mientras que parseInt('sdjgg123') devolverá NaN.

    • En aras de la exhaustividad, parseInt() acepta un segundo parámetro que puede ser utilizado para expresar la base que está tratando de extraer con, lo que significa que, por ejemplo,
      parseInt('A', 16) === 10 si estuviera tratando de analizar un hexadecimal .
+0

'toFixed' ** ** rondas a los decimales proporcionadas (o 0 decimales cuando el parámetro no se encuentra que la hace idéntica a' round'). No solo trunca como dices. Debes corregir tu respuesta. Pero te di un +1 de todos modos porque mencionas ambas funciones. En realidad, 'toFixed' también agregará los ceros faltantes cuando sea necesario. –

+0

estás en lo correcto. mi respuesta está enmendada – Jason

+0

cómo detener la siguiente respuesta que aparece en el mismo div y si no actualizo la página? – ktm

2

Además de las otras respuestas acerca de redondeo, está anexando la respuesta a "total" mediante el uso de

$("#total").append(total) 

Es necesario sustituir el texto anterior en lugar de anexar utilizando

$("#total").html(total) 
+0

gracias por mi otra respuesta – ktm

Cuestiones relacionadas