下面是代码:
let moneyToReturn = 0.5
let note = 0.01
let sum = 0
while(moneyToReturn-note>=0){
moneyToReturn = ((moneyToReturn*10 - note*10)/10).toFixed(2)
sum = ((sum*10 + note*10)/10).toFixed(2)
// moneyToReturn -= note
// sum += note
console.log(sum)
}
要确保我没有在每次计算中都用疯狂的小数位记录我的 sum ,我需要编写这段代码。
((x * 10 + y * 10)/10).toFixed(2)
这样做的更好/更短的方法是什么?
答案 0 :(得分:0)
也许您可以使用parseFloat
来避免那样的算术运算?
while(moneyToReturn-note>=0){
moneyToReturn = parseFloat((moneyToReturn - note).toFixed(2))
sum = parseFloat((sum + note).toFixed(2))
// moneyToReturn -= note
// sum += note
console.log(sum)
}
您应该发现上面的parseFloat
的使用在功能上等同于((x * 10 + y * 10)/10).toFixed(2)
,如以下代码示例所示:
var x = 0.1
var y = 0.3
console.log('Current method', ((x * 10 + y * 10)/10).toFixed(2) )
console.log('Concise method', (parseFloat(x + y).toFixed(2)) )