2011-04-28 29 views
7

我得到28.6813276578当我乘2号A和B,我怎么能使其以较少的数字整数在JavaScript?

而且,当我再乘以我得到的整数像28.681321405.4428.68第一reult后结果如何只有一次结果?

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

回答

23

你可以做几件事情:

total = total.toFixed([number of decimals]); 
total = Math.round(total); 
total = parseInt(total); 
  1. toFixed()将你的电话号码舍入到的小数位数表示。

  2. Math.round()会将数字舍入为最接近的整数。

  3. parseInt()将采取一个字符串,并试图解析一个整数,而不舍入。 parseInt()虽然有点棘手,因为它会解析字符串中的第一个字符,直到它们不是,意思是parseInt('123g32ksj')将返回123,而parseInt('sdjgg123')将返回NaN

    • 为了完整起见,parseInt()接受它可以用来表达你想与提取基地,这意味着,例如,
      parseInt('A', 16) === 10如果你试图解析十六进制第二个参数。
+0

'toFixed' **将所提供的小数点舍入为**(或者当参数丢失时使其等于“round”时为0的小数点)。它不会像你说的那样截断。你应该改正你的答案。但是我无论如何都给你+1了,因为你提到了这两个函数。实际上'toFixed'在需要的时候还会附加缺失的零。 – 2011-04-28 08:04:15

+0

你是对的。我的答案被修改了。 – Jason 2011-04-28 08:06:16

+0

如何停止出现在同一个div上的下一个答案,如果我不刷新页面? – ktm 2011-04-28 08:25:24

2

除了有关舍入,您正在使用

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

追加回答“总”其他答案你需要替换以前的文本,而不是通过使用

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

谢谢你的回答 – ktm 2011-04-29 02:51:46