【问题标题】:Check react input form for decimals and change value检查小数的反应输入表单并更改值
【发布时间】:2020-03-09 14:18:41
【问题描述】:

在我当前的 React 应用程序中,我需要一个 Input 来验证和更改以下规则的结果:

Input: 10 -> Output: 1000
Input: 10.5 -> Output: 1050
Input: 10.55 -> Output: 1055

这是我目前所拥有的:

<Form.Control
    as="input"
    type="number"
    min="0.00"
    step=".01"
    onChange={this.handleChange.bind(this)}
/>
handleChange(event: React.ChangeEvent<HTMLInputElement>) {
    if(event.target.value.includes('.')) {
        let values = event.target.value.split('.')
        if(values[1].length <= 1) {
            let decimal = values[1] = values[1] + '0';
            let output = values[0] + decimal;
        }
    }
    this.submitPayment(output) // error: output not defined
}

我现在的问题是,我的代码只有在输入小数点(点/逗号)时才有效。

我想还有一个更“优雅”的解决方案,很高兴知道!

【问题讨论】:

  • 你不能简单地将输入乘以 100 吗?

标签: javascript reactjs input numbers decimal


【解决方案1】:

我不明白你为什么不这样做:

handleChange(event: React.ChangeEvent<HTMLInputElement>) {
    const output = parseFloat(event.target.value) * 100
    this.submitPayment(output);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    相关资源
    最近更新 更多