Javascript 确定数字的精度,包括尾随零

Javascript 确定数字的精度,包括尾随零,javascript,floating-point,numbers,precision,Javascript,Floating Point,Numbers,Precision,我怀疑这是不可能的,但尝试一下: 是否可以确定一个数字的小数点数量,这些小数点是否为尾随的零 getPrecision(3)//0 getPrecision(3.2)//1 getPrecision(2.30)//2 我已经为前两个案例(包括这个:)找到了一些解决方案,但对最后一个案例没有找到任何解决方案。将3.20转换为字符串将导致“3.2”,这没有任何帮助,我几乎没有主意了。由于无法将3.20存储为整数并保持最后的0,因此可以始终将值作为字符串传递。在“.”上拆分字符串,在“2.30”上执

我怀疑这是不可能的,但尝试一下:

是否可以确定一个数字的小数点数量,这些小数点是否为尾随的零

getPrecision(3)//0
getPrecision(3.2)//1
getPrecision(2.30)//2

我已经为前两个案例(包括这个:)找到了一些解决方案,但对最后一个案例没有找到任何解决方案。将
3.20
转换为字符串将导致
“3.2”
,这没有任何帮助,我几乎没有主意了。

由于无法将3.20存储为整数并保持最后的0,因此可以始终将值作为字符串传递。在“.”上拆分字符串,在“2.30”上执行字符串长度。拆分(“)[1]。长度-再次假设您总是将数字作为字符串传递。@Brant很遗憾,我希望能够处理最初是数字的值。对于字符串,我可以按照您的建议执行操作,但在将数字转换为字符串时,我会丢失最后一个
0
。存储数字的数据类型是什么?Javascript数通常是IEEE 754 64位二进制浮点数,小数位数对它来说没有意义。例如,最接近2.30的值为2.299999999999998223643160599749532218933105468752.299999999999822364316059974953221893310546875也最接近2.3,2.30000,2.30000000000000,等等。除非您使用保留原始输入中小数位数的特殊数据类型,否则它们都将以相同的方式表示。从概念上讲,所有有限的
double
都可以表示为带任意数量尾随零的十进制文本<代码>双q=5;q/=2
q
可以打印为2.5、2.50、2.500等。由于无法将3.20存储为整数并保留最后的0,因此可以始终将值作为字符串传递。在“.”上拆分字符串,在“2.30”上执行字符串长度。拆分(“)[1]。长度-再次假设您总是将数字作为字符串传递。@Brant很遗憾,我希望能够处理最初是数字的值。对于字符串,我可以按照您的建议执行操作,但在将数字转换为字符串时,我会丢失最后一个
0
。存储数字的数据类型是什么?Javascript数通常是IEEE 754 64位二进制浮点数,小数位数对它来说没有意义。例如,最接近2.30的值为2.299999999999998223643160599749532218933105468752.299999999999822364316059974953221893310546875也最接近2.3,2.30000,2.30000000000000,等等。除非您使用保留原始输入中小数位数的特殊数据类型,否则它们都将以相同的方式表示。从概念上讲,所有有限的
double
都可以表示为带任意数量尾随零的十进制文本<代码>双q=5;q/=2
q
可以打印为2.5、2.50、2.500等。