首页 > 解决方案 > 在 Jvascript 中,如何控制数组的输出以使数字仅使用 2 个小数位?

问题描述

function tipCalc(bill) {
  var tipPercent;
  if (bill < 50 ) {
    tipPercent =  .20;

  } else if (bill >= 50 && bill < 200){
    tipPercent = .15;
  } else {
    tipPercent = .10;
  }

  return tipPercent * bill;
}


var bills = [124, 48, 268];
var tips = [tipCalc(bills[0]),
           tipCalc(bills[1]),
           tipCalc(bills[2])];
var finalValues =[bills[0] + tips[0],
                 bills[1] + tips[1],
                 bills[2] + tips[2]];
              
console.log(tips, finalValues);

我希望 18.599999999999998 显示为 $18.6(在 console.log 中)。我尝试使用 .toFixed(2) 但没有成功。

标签: javascript

解决方案


用于.toFixed(1)舍入值。toFixed用于格式化小数点右侧具有特定位数的数字。您可能会使用 toFixed() 直接返回值。首先将 .toFixed() 值保存在变量中,然后返回该变量。

function tipCalc(bill) {
var tipPercent;
  if (bill < 50 ) {
    tipPercent =  .20;

  } else if (bill >= 50 && bill < 200){
    tipPercent = .15;
  } else {
    tipPercent = .10;
  }
var val=(tipPercent * bill).toFixed(1);
  return parseFloat(val);
}


  var bills = [124, 48, 268];
  var tips = ["$"+tipCalc(bills[0]),
              "$"+tipCalc(bills[1]),
              "$"+tipCalc(bills[2])];
  var finalValues =["$"+ bills[0] + tips[0],
                    "$"+bills[1] + tips[1],
                    "$"+bills[2] + tips[2]];
                  
              
  console.log(tips, finalValues);


推荐阅读