INPUT [тип = число] теряет цифры выше Number.MAX_SAFE_INTEGER - PullRequest
0 голосов
/ 11 февраля 2019

В моем приложении 64-разрядное целое значение выводится в виде следующего HTML-элемента:

<input id="it" required="" type="number" name="SomeId" value="9123372036854775807">

В Firefox, когда элемент загружен, он показывает значение «9123372036854776000», и стрелки регулировки перестают работать.

Это, кажется,разработка в соответствии с соответствующим разделом спецификации HTML :

Алгоритм для преобразования строки в число с учетом строки input выглядит следующим образом: Если применение правил для анализа значений чисел с плавающей запятой в input приводит к ошибке, а затем возвращает ошибку;в противном случае возвращает полученное число.

То есть входное значение анализируется в Number, который не может представлять большинство длинных целых чисел более 2 53 .

Как мне представить это длинное целочисленное поле как HTML input, при этом все еще имея хорошую проверку на стороне клиента?

...