我正在以0x Protocol的BigNumber格式获取市价单和限价单的数量和价格。我希望将其保存为数字值到SQL数据库中,所以我需要将BigNumber转换为字符串。
我使用了以下命令:
BigNumber.toString()
但我得到的值是200000000000000000,而当前 BigNumber 值为0.2。
如何将 BigNumber 转换成正确的数字字符串?
我正在以0x Protocol的BigNumber格式获取市价单和限价单的数量和价格。我希望将其保存为数字值到SQL数据库中,所以我需要将BigNumber转换为字符串。
我使用了以下命令:
BigNumber.toString()
但我得到的值是200000000000000000,而当前 BigNumber 值为0.2。
如何将 BigNumber 转换成正确的数字字符串?
const amountDecimal = tokenAmountInUnitsToBigNumber(amount, quoteTokenDecimal).toString();
tokenAmountInUnitsToBigNumber
将amount(BigNumber)
的值转换为十进制字符串。数据库足够聪明,如果你给它们一个字符串数字,并且在架构中定义为数值,它们可以自行处理。数据库适配器也聪明到从数据库检索数值并以字符串格式返回。
简而言之,你不应该试图转换任何东西,这就是它的意义所在。你应该依赖于数据库,在数据库中进行所有的计算。