var allBills = [124,48,268,180];
var tips =[];
//var total = [];
document.write(allBills);
function calcIt(bill){
for (i=0; i < bill.length; i++){
if (bill[i] < 50){
tips[i] = bill[i] * 20% + " ";
}else if (bill > 50 && bill <200){
tips[i] = bill[i] * 15% + " ";
}else {
tips[i] = bill[i] * 10% + " ";
}
return tips += tips[i];
};
document.write(calcIt(allBills));
Я пытаюсь умножить на каждый счет в ресторане var allBills = [124,48,268,180]; , Почему это не работает?
bill[i] * 0.2
для 20%
^^ Другими словами - что представляет собой математический10%
? Как бы вы рассчитали это с помощью калькулятора?
Dupe: javascript: вычислить x% числа
100
, либо просто использовать проценты следующим образом: 100 = 1, 90 = .9, 50 = .5, 15 = .15, 5 = .05
и так далее.Я использовал toFixed(2)
просто для удобства чтения
var allBills = [124, 48, 268, 180];
function calcIt(bill) {
var tips = [];
for (i = 0; i < bill.length; i++) {
if (bill[i] < 50) tips[i] = (bill[i] * .2).toFixed(2) + " ";
else if (bill > 50 && bill < 200) tips[i] = (bill[i] * .15).toFixed(2) + " ";
else tips[i] = (bill[i] * .1).toFixed(2) + " ";
}
return tips;
}
document.write(calcIt(allBills).join(" | "));
Вы используете оператор напоминания (%), который предоставляет напоминание. Ваша логика не соответствует вашим ожиданиям. Если вы хотите добавить символ% к своему выходу, используйте его как строку
10%
- это не то, как вы делаете проценты