Тип ввода реагирования = "число" для чисел с плавающей запятой - PullRequest
0 голосов
/ 31 января 2020

Я хочу, чтобы поле ввода было type = "number" . (Чтобы на мобильных телефонах появилась клавиатура цифра c). Проблема в том, что все мои значения указаны в центах: 1EUR = 100 центов, и я хочу отобразить запятую в качестве десятичного разделителя (немецкий формат), поэтому onChange умножит значение на 100, и когда значение будет отображено, оно будет делится на 100. Но когда я набираю «5». после ввода следующего числа "." потеряется То же самое происходит с ",".

Я не смог найти ни один уже реализованный компонент, который делает это, используя input type = "number" вместо type = "text". Так кто-нибудь знает такую ​​библиотеку или способ ее реализации, который не включает наличие двух входов, один для центов и один для евро?

1 Ответ

0 голосов
/ 31 января 2020

Я думаю, что тип ввода чисел может обрабатывать немецкую систему запятых. Таким образом, может не быть необходимости вручную изменять вход 2,5 на 2,5. Если вы используете этот changeHandler для ввода чисел

const changeHandler = e => {
    const val = e.target.value
    console.log(2 * val)
    setNumber(val)
  }

, то переменная val будет обычным числом с плавающей запятой, пока вы видите запятую на входе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...