在Javascript中,如何控制数组的输出以使数字仅使用2个小数位?

问题描述 投票:0回答:3

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
3个回答
0
投票

toFixed()返回一个string你需要使用Number()将其转换回Number

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

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

  return Number((tipPercent * bill).toFixed(1));
}


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

0
投票

.toFixed()仅适用于数字值,首先将finalValues转换为数字并尝试

的console.log( '$' +号(finalValues).toFixed(2));

希望它会有所帮助。


0
投票

使用.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);
© www.soinside.com 2019 - 2024. All rights reserved.