此功能用于表示用户输入的数字,与标准计算器相同:

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

我该如何解决这个问题?