您可以将输入类型 "number" 用于任意精度小数吗?
Can you use input type "number" for arbitrary precision decimals?
我希望能够处理从 e-18 (0.000000000000000001) 到 e4 (10,000) 的数字,并对这些输入进行算术运算而不会出现舍入错误。所以我不能使用 JavaScript 原生的 64 位双精度数字,因为它只有 9e15 的安全范围,我需要 1e22.
的范围
我可以将 HTML 输入类型 number
与适当的 JavaScript 结合使用吗?还是应该改用 text
?
非常感谢一些代码示例和 npm 库来帮助我解决这个问题。
1) HTML 个输入元素,总是return 输入的value 的字符串表示。
2) 为了安全地处理大数字,您可以根据需要使用 ES6 BigInt or if you want full cross-browser support, you can use a library such as big.js, bignumber.js or decimal.js。
3) 您可能还想看看这个 valueAsNumber property of the HTML input element (type=number). Beware of support issues。
底线:您将始终通过 value 属性 获取在输入字段中输入的字符串数据类型的值,并且您必须对其进行解析本机或使用上面提到的 JS 库。
JavaScript:
中有关数字和处理数字的有用链接
我希望能够处理从 e-18 (0.000000000000000001) 到 e4 (10,000) 的数字,并对这些输入进行算术运算而不会出现舍入错误。所以我不能使用 JavaScript 原生的 64 位双精度数字,因为它只有 9e15 的安全范围,我需要 1e22.
的范围我可以将 HTML 输入类型 number
与适当的 JavaScript 结合使用吗?还是应该改用 text
?
非常感谢一些代码示例和 npm 库来帮助我解决这个问题。
1) HTML 个输入元素,总是return 输入的value 的字符串表示。
2) 为了安全地处理大数字,您可以根据需要使用 ES6 BigInt or if you want full cross-browser support, you can use a library such as big.js, bignumber.js or decimal.js。
3) 您可能还想看看这个 valueAsNumber property of the HTML input element (type=number). Beware of support issues。
底线:您将始终通过 value 属性 获取在输入字段中输入的字符串数据类型的值,并且您必须对其进行解析本机或使用上面提到的 JS 库。
JavaScript:
中有关数字和处理数字的有用链接