【问题标题】:How to convert 0x Protocol BigNumber to String in Javascript如何在 Javascript 中将 0x 协议 BigNumber 转换为字符串
【发布时间】:2021-03-29 11:08:05
【问题描述】:

我以 0x 协议 BigNumber 格式获取市价单和限价单的数量和价格。而且我愿意将它作为数值保存到SQL数据库中,所以我需要将BigNumber转换为String。

我使用了这个命令:

BigNumber.toString()

但是我得到了 200000000000000000 而当前 BigNumber 的值为 0.2。

如何将 BigNumber 转换为正确的数字字符串?

【问题讨论】:

    标签: javascript ethereum solidity


    【解决方案1】:

    请检查此功能。

    https://github.com/0xProject/0x-launch-kit-frontend/blob/development/src/util/tokens.ts#L5

    const amountDecimal = tokenAmountInUnitsToBigNumber(amount, quoteTokenDecimal).toString();
    

    我们可以使用tokenAmountInUnitsToBigNumberamount(BigNumber) 值转换为十进制字符串。

    【讨论】:

      【解决方案2】:

      数据库足够聪明,可以自行完成,因此如果您给它们一个字符串编号,并且您已在架构中将其定义为数值,它们就可以自行完成。数据库适配器也足够聪明,可以在从数据库中检索数值时以字符串格式提供数值。

      简而言之,您不应该尝试转换任何重要的东西。你应该依赖数据库,在数据库中做所有的数学运算。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-27
        • 2016-09-27
        • 2017-08-14
        • 1970-01-01
        • 1970-01-01
        • 2023-01-07
        相关资源
        最近更新 更多