Я получаю рыночный ордер и сумму и цену лимитного ордера в формате 0x Protocol BigNumber. И я хочу сохранить его как числовое значение в базе данных SQL, поэтому мне нужно преобразовать BigNumber в String.
Я использовал эту команду:
BigNumber.toString()
Но я получил 2000000000000000000, в то время как текущее значение BigNumber равно 0,2.
Как я могу преобразовать BigNumber в правильную числовую строку?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Базы данных достаточно умны, чтобы делать это самостоятельно, поэтому, если вы дадите им строковый номер и если вы определили его как числовое значение в схеме, они могут сделать это самостоятельно. Адаптеры баз данных также достаточно умны, чтобы выдавать числовые значения в строковом формате при извлечении их из базы данных.
Короче говоря, вы не должны пытаться преобразовать что-либо, что является его смыслом. Вы должны полагаться на базу данных, делать всю свою математику в базе данных.
Пожалуйста, проверьте эту функцию.
https://github.com/0xProject/0x-launch-kit-frontend/blob/development/src/util/tokens.ts#L5
const amountDecimal = tokenAmountInUnitsToBigNumber(amount, quoteTokenDecimal).toString();
Мы можем преобразовать значение amount(BigNumber) в десятичную строку с помощью tokenAmountInUnitsToBigNumber.