Formatando BigInts

As criptomoedas geralmente têm muitas casas decimais. Por exemplo, a popular criptomoeda Ethereum tem 18 casas decimais.

Ao lidar com dinheiro, a precisão é importante: você não vai querer perder dinheiro porque um número perdeu precisão. No entanto, no JavaScript, os números normais só podem chegar até 9007199254740991. Para lidar com isso, o JavaScript agora possui BigInt para inteiros maiores que esse limite.

No entanto, para voltar a obter um número decimal, é necessário formatar o número de um BigInt para uma string com a quantidade correta de casas decimais.

Escreva uma função que receba como argumentos um BigInt e a quantidade desejada de casas decimais, e retorne uma string (não um número, pois ele perderá precisão) com a quantidade correta de casas decimais.

Exemplos

formatBigInt(1938908490185852058934n, 18) ➞ "1938.908490185852058934"

formatBigInt(987654321987654321n, 6 ) ➞ "987654321987.654321"

formatBigInt(13902183984901849081284n, 12) ➞ "13902183984.901849081284"

Observações

N/A