gpt4 book ai didi

javascript - parseFloat 和 toFixed 只返回 1 位小数

转载 作者:行者123 更新时间:2023-12-03 21:11:03 24 4
gpt4 key购买 nike

在下面的工作中,当记录数组“tips”时,插入其中的数字似乎只有一位小数点。

在添加到 parseFloat 之前,它会返回 2 位小数,但它是以字符串形式返回的。一旦添加了 parseFloat,它现在似乎只返回一个小数点。

谢谢。

var tips = [];
var calculateTip = function(bill) {
switch (true) {
case bill < 50:
tips.push(parseFloat((bill * 0.2).toFixed(2)));
break;
case bill >= 50 && bill < 201:
tips.push(parseFloat((bill * 0.15).toFixed(2)));
break;
default:
tips.push(parseFloat((bill * 0.10).toFixed(2)));
}
}
calculateTip(124);
calculateTip(48);
calculateTip(268);
console.log(tips);

最佳答案

Number.prototype.toFixed()返回您用正确的小数位数调用的 numberstring 表示形式,但如果您使用 将其解析回 number >parseFloat,这些将会消失,因为 number 不关心尾随零。

您可以通过删除 parseFloat 来解决这个问题:

const tips = [];

function calculateTip(bill) {
if (bill < 50)
tips.push((bill * 0.2).toFixed(2));
else if (bill >= 50 && bill < 201)
tips.push((bill * 0.15).toFixed(2));
else
tips.push((bill * 0.10).toFixed(2));
}

calculateTip(124);
calculateTip(48);
calculateTip(268);

console.log(tips);

关于javascript - parseFloat 和 toFixed 只返回 1 位小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61531698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com