Я хочу использовать регулярное выражение для представления значений в указанном формате c. Например, если пользователь вводит «1» в поле ввода, его необходимо заменить «$ 1»
, например:
- 1234 -> $ 1,234
- 1234,5 -> 1 234,5
- 0,31 -> 0,31
- 3,01 -> 3,01
Я пробовал вот так.
formatNumber = (n) => {
console.log(n);
return n.toString().replace(/\D/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
handleUserInput = (e) => {
const name = e.target.name
const value = e.target.value
this.setState({ [name]: value });
let errors = this.state.errors;
e.target.value = '$' + this.formatNumber(value);
}
Это работает с целочисленными значениями, но не с десятичными. Я действительно ценю твою помощь. Спасибо.