尝试将数字格式化为2位小数jQuery

ben*_*e89 6 javascript jquery number-formatting

可能重复:
JavaScript:格式化数字,正好是两位小数

使用变量有点混乱,现在似乎无法让计算工作!?

 $("#discount").change(function(){
            var list = $("#list").val();
            var discount = $("#discount").val();
            var price = $("#price");
            var temp = discount * list;
            var temp1 = list - temp;
            var total = parseFloat($(this).temp1()).toFixed(2);

            price.val(total);       
 });
Run Code Online (Sandbox Code Playgroud)

And*_*y E 23

$(this).temp1()看起来特别不合适,我想你只是想使用temp1变量.既然它已经是一个数字,你也不需要使用parseFloat它:

$("#discount").change(function() {
    var list = $("#list").val();
    var discount = $("#discount").val();
    var price = $("#price");
    var temp = discount * list;
    var temp1 = list - temp;
    var total = temp1.toFixed(2);

    price.val(total);
});
Run Code Online (Sandbox Code Playgroud)


Vin*_*ayC 5

我建议您在计算之前先将字符串转换为数字。例如,

var list = parseFloat($("#list").val());
var discount = parseFloat($("#discount").val());
var price = $("#price");
var total = list - (discount * list);
price.val(total.toFixed(2));
Run Code Online (Sandbox Code Playgroud)

此外,如果折扣是百分比(例如,说 25),那么你必须除以 100,即 list - (discount/100 * list)

顺便说一句,请参阅人们警告不要使用 ToFixed 的 SO 线程:How to format a float in javascript?