我有一个奇怪的问题。我正在从网络音频 API 中获取数字,我得到的是一个常量列表:
3.1051260268969075e-28 等
我想四舍五入该数字,但使用:
Math.round(magAmount);
总是返回 0。magAmount 是我存储数字的变量。另一个奇怪的事情是,如果我将数字乘以 5,我得到的值低于原始值,在本例中为 1.5525630134484537e-27。
有任何想法吗?
谢谢。
我有一个奇怪的问题。我正在从网络音频 API 中获取数字,我得到的是一个常量列表:
3.1051260268969075e-28 等
我想四舍五入该数字,但使用:
Math.round(magAmount);
总是返回 0。magAmount 是我存储数字的变量。另一个奇怪的事情是,如果我将数字乘以 5,我得到的值低于原始值,在本例中为 1.5525630134484537e-27。
有任何想法吗?
谢谢。
这个数字要大 5 倍。
e-28 小于 e-27
请注意,您e-28
的*10^-28
代码中没有什么奇怪的。
由于这个数字很小,四舍五入肯定会返回一个0
.
Math.round() 将四舍五入到下一个整数,因此四舍五入 0.0000000000..00001(你正在做的)将四舍五入为 0。
e-27 也比 e-28 大,所以你的乘法是正确的
圆到什么精度?如果你想
3.1051260268969075e-28 -> 3.1e-28 然后
数学.round(3.1051260268969075e-28 * 1.0e+29) * 1.0e-29