如何在 Javascript 中将 0x Protocol BigNumber 转换为 String

How to convert 0x Protocol BigNumber to String in Javascript

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

我使用了这个命令:

BigNumber.toString()

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

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

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

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

请检查此功能。

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

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

我们可以使用 tokenAmountInUnitsToBigNumber.

amount(BigNumber) 值转换为十进制字符串