如何获得有效值和指数的Javascript BigInt除法的结果

时间:2018-08-08 10:57:11

标签: javascript bigint

我想将两个BigInt数字相除,并得到一些有效数字和一个指数的结果。到目前为止,我已经知道了:

f = (numerator, denominator, significantsLength) => {
      const denominatorLength = ('' + denominator).length
      const extension = significantsLength + denominatorLength
      const extendedNumerator = numerator * 10n ** BigInt(extension)
      const div = extendedNumerator / denominator
      const divLength = ('' + div).length
      const digitsSurplus = divLength - significantsLength
      const significants = div / 10n ** BigInt(digitsSurplus)
      const exponent = digitsSurplus - extension
      return significants + 'e' + exponent
    }

所以f(1n,3n,3)产生'333e-3'

会更好吗?此代码不舍入。零和负数也不能很好地工作。

0 个答案:

没有答案