javascript - 检查 react 输入表单的小数并更改值

标签 javascript reactjs input numbers decimal

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

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
}

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

而且我想有一个更“优雅”的解决方案,如果知道的话那就太好了!

最佳答案

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

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

关于javascript - 检查 react 输入表单的小数并更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60602453/

相关文章:

javascript - 如何使用 jquery 选择下拉列表中的第一个元素?

javascript - 在 HTML 和 JS 中制作响应式复选框?

javascript - 如何从 React-router v 2.+ 中的 URL 获取参数

javascript - 如何使用多个输入数字?

javascript - 输入类型 = "file"多个 |选择多个文件

c - 为什么 scanf() 在处理字符串时不接受用户的输入?

javascript - 日期时间选择器将输入元素与它的 css 混淆

javascript - Facebook javascript 在 "share"上触发

ReactJS 组件内的 AngularJS 应用程序?

javascript - React Google map 自定义标记旋转