Javascript 你能使用输入类型吗;“数字”;对于任意精度小数?

Javascript 你能使用输入类型吗;“数字”;对于任意精度小数?,javascript,html,input,precision,Javascript,Html,Input,Precision,我希望能够处理从e-18(0.000000000000000001)到e4(10000)的数字,并对这些输入进行算术运算,而不会出现舍入错误。因此,我不能使用JavaScript固有的64位双精度数字,因为它的安全范围仅为9e15,而我需要范围为1e22 我可以将HTML输入类型number与相应的JavaScript结合使用,还是应该使用text 如果您能提供一些代码示例和npm库来帮助我解决这个问题,我们将不胜感激。1)HTML输入元素总是返回一个代表输入内容的字符串 2) 为了安全地处理大

我希望能够处理从e-18(0.000000000000000001)到e4(10000)的数字,并对这些输入进行算术运算,而不会出现舍入错误。因此,我不能使用JavaScript固有的64位双精度数字,因为它的安全范围仅为9e15,而我需要范围为1e22

我可以将HTML输入类型
number
与相应的JavaScript结合使用,还是应该使用
text

如果您能提供一些代码示例和npm库来帮助我解决这个问题,我们将不胜感激。

1)HTML输入元素总是返回一个代表输入内容的字符串

2) 为了安全地处理大数字,您可以使用,或者如果您希望获得完全的跨浏览器支持,可以根据需要使用库,如或

3) 您可能还希望查看HTML输入元素(type=number)的属性。小心这一个

一句话:您将始终通过value属性以字符串数据类型的形式获取输入字段中输入的值,并且您必须以本机方式或使用上面提到的JS库对其进行解析


有关数字以及在JavaScript中处理数字的有用链接:

  • (YouTube视频)

你有没有研究过
big.js
?是的,我找到了和
decimal.js
,它们都在查找js任务。从KostasX的回答中,我认为我应该能够将
value
属性解析为这些库中的一个数据类型,我可以将其
e.target.value
用作
onChange
JS函数中的字符串,而不必担心该值会被转换为double?@ThorkilVærge,只要使用上述库之一解析字符串值,就可以了。一定要测试几个值,以确保一切按预期进行。