【问题标题】:Display decimals two digits unless integer显示小数两位数,除非是整数
【发布时间】:2013-09-27 22:46:52
【问题描述】:

两个数相乘

$(document).ready(function () {
    $("#input1, #input2").change(function () {
        var num = parseFloat($("#input1").val()) * parseFloat($("#input2").val());

        if (num % 1 != 0) {
            num = Math.floor(num * 100) / 100;
        } else {
            num = parseInt(num);
        }

        $("#input3").val(num);
    });
});
  • 如果结果是整数为10,就写成10,我没问题。

  • 如果结果为 10.01,则写为 10.01。对我来说没问题。

  • 但如果结果为 10.10,则写为 10.1 而不是 10.10.

    只有在有小数的情况下才显示“总是”两位数?

【问题讨论】:

    标签: javascript jquery decimal digits


    【解决方案1】:

    试试这个:

    http://jsfiddle.net/qjmve/

    $(document).ready(function () {
        $("#input1, #input2").change(function () {
            var num = parseFloat($("#input1").val()) * parseFloat($("#input2").val());
    
            if (num != parseInt(num))
                num = num.toFixed(2);
    
            $("#input3").val(num);
        });
    });
    

    【讨论】:

      【解决方案2】:

      对带小数的数字使用 toFixed() 函数。

      if(num.toString().indexOf('.') != -1)
          num = num.toFixed(2);
      

      【讨论】:

      • toFixed(2) 使所有 te 数字都带有两位小数,甚至是 10.00。我不需要 .00
      • 我的错,我会负责的。
      猜你喜欢
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 2011-05-27
      • 1970-01-01
      相关资源
      最近更新 更多