Formatação de inteiros grandes
As criptomoedas costumam usar muitas casas decimais; a Ethereum, por exemplo, usa 18. Ao lidar com dinheiro, converter um inteiro grande por meio de um tipo de ponto flutuante pode causar a perda de dígitos.
Escreva uma função que receba um BigInteger não negativo e a quantidade desejada de casas decimais. Retorne uma cadeia de caracteres com o ponto decimal inserido a essa quantidade de dígitos a partir da direita. Preserve todos os dígitos exatamente.
Exemplos
Program.formatBigInt(new BigInteger("1938908490185852058934"), 18) ⟞ "1938.908490185852058934"
Program.formatBigInt(new BigInteger("987654321987654321"), 6) ⟞ "987654321987.654321"
Program.formatBigInt(new BigInteger("13902183984901849081284"), 12) ⟞ "13902183984.901849081284"Notas
- Retorne uma cadeia de caracteres, não um valor de ponto flutuante.
- Não faça a conversão por meio de um tipo de ponto flutuante.