【发布时间】:2021-05-01 07:27:30
【问题描述】:
我正在使用 etherjs 的 BigNumber,我正在执行这个非常简单的操作:
const cost = BigNumber.from(3)
.div(BigNumber.from(1000))
.mul(BigNumber.from(3));
console.log(cost.toString());
它输出'0',但应该是0.09。
为什么?我做错了什么?
【问题讨论】:
-
旁注:你知道JavaScript现在有一个原生的大整数类型
BigInt吗?几乎在所有环境中都受支持(不是 IE11,但甚至 Microsoft 也不再支持 IE)。您可以使用您需要的精度倍数的单位。例如,如果您需要小数点右侧的两位精度,您将使用大小为 100 倍的值。然后划分输出。
标签: javascript ether