jquery中整数和小数的简单计算

ond*_*aco 2 javascript jquery

尝试将 2 个值相乘。数量为整数,信用价格为小数。当我运行这段代码时,什么也没有发生。

有谁知道是什么问题?

谢谢。

 $(function(){ // bind the recalc function to the quantity fields

    $("#oneCreditSum").after('<label></label>Total: Aud <span id=\"total\"></span><br><br>');

    $("#quantity").bind('keyup', recalc);

    function recalc(){
        var quantity = $('#quantity').val();
        var creditPrice = $('#creditPrice').val();
        var total = quantity * creditPrice;
        $("#total").text(total);
    }});
Run Code Online (Sandbox Code Playgroud)

rah*_*hul 5

使用

解析浮点型

在计算两个数字之前,解析字符串参数并返回浮点数。

var quantity = $('#quantity').val();
var creditPrice = $('#creditPrice').val();
var total = parseFloat(quantity) * parseFloat(creditPrice);
Run Code Online (Sandbox Code Playgroud)


Jam*_*man 5

对值使用 parseFloat,并分别提醒每个值进行测试。

其他一些(不相关的)改进:

  1. 使用 keyup() 函数:

    $("#quantity").keyup(recalc);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使函数匿名:

    $("#quantity").keyup(function(){...});
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在函数中的 #quantity 上使用 $(this) 以避免再次调用 jQuery 选择器

您还可以考虑将其压缩为一行代码:

    $("#total").text(parseFloat($('#quantity').val()) * parseFloat($('#creditPrice').val()));
Run Code Online (Sandbox Code Playgroud)

要进行零填充,您可以尝试使用 toFixed() 方法:

var num = 10;
var result = num.toFixed(2); // result will equal 10.00
Run Code Online (Sandbox Code Playgroud)

我从以下网站得到了这个片段

http://www.mredkj.com/javascript/numberFormat.html

希望这可以帮助。