Самый точный способ разделить тип Javascript BigInt на число в результате - PullRequest
0 голосов
/ 16 мая 2018

Я хотел бы разделить две новые переменные типа BigInt на друг друга и получить Number в качестве результата. Какой самый точный способ сделать это? Теперь у меня есть это:

function div (numerator: BigInt, denominator: BigInt): number {
  const significantExponent = 350
  const division = numerator / denominator
  const remainder = numerator % denominator
  const enlargedRemainder = remainder * BigInt(10) ** BigInt(significantExponent)
  const decimals = enlargedRemainder / denominator
  return Number(division) + +(decimals + 'e-' + significantExponent)   
}

Например:

div(10n**400n, 10n**700n) === 1e-300
div(2n**1024n, 2n**2048n) === 2**-1024
...