此功能用于表示用户输入的数字,与标准计算器相同:
addLogicToEquation(newLogic) {
let equation = this.state.equation
console.log(parseFloat(equation))
if(newLogic==="10%"){
let newEquation = Number(equation) + (Number(equation) * 0.10)
console.log(newEquation)
this.setState({equation: Number(newEquation).toFixed(2)})
}else if (newLogic==="15%"){
let newEquation = Number(equation) + (Number(equation) * 0.15)
console.log(newEquation)
this.setState({equation: Number(newEquation).toFixed(2)})
}else if (newLogic==="20%"){
let newEquation = Number(equation) + (Number(equation) * 0.20)
console.log(newEquation)
this.setState({equation: Number(newEquation).toFixed(2)})
}
else{
// we're adding more numbers
let newEquation = Number(equation) + newLogic;
this.setState({equation: Number(newEquation).toFixed(2)})
}
}
}
^它还包含一些用于执行简单乘法的逻辑 - 这对程序很重要 - 无论如何......
该代码的问题是 - 当用户输入新值时 - 它始终出现在小数点的左侧 - 但是 - 出于精确的原因 - 我们需要它从最右边的数字开始,即在此字符串中,我们想要从你看到 7
的地方开始:
0.07
目前 7
总是出现在这里:
7.00
随着更多数字的添加,它们会增加:
77.00
而我们希望它们增加到:
00.77
我该如何解决这个问题?