В моем текущем приложении 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
}
Сейчас моя проблема в том, что мой код работает только при вводе десятичной дроби (точка / запятая).
Также я думаю, что есть гораздо более "элегантное" решение для этого, которое было бы здорово знаю!