首页 > 解决方案 > INPUT[type=number] 丢失 Number.MAX_SAFE_INTEGER 以上的数字

问题描述

在我的应用程序中,我有一个 64 位整数的值,输出为以下 HTML 元素:

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

在 Firefox 中,当元素加载时,它显示值“9123372036854776000”,调整箭头停止工作。

根据 HTML 规范的相关部分,这似乎是设计使然:

给定字符串input ,将字符串转换为数字的算法如下:如果将解析浮点数值的规则应用于input导致错误,则返回错误;否则,返回结果数字。

也就是说,输入值被解析为 a Number,它不能表示超过 2 53的大多数长整数。

我应该如何将这个长整数字段表示为 HTML input,同时仍然具有良好的客户端验证?

标签: htmlvalidationfloating-pointlong-integer

解决方案


推荐阅读