【问题标题】:How can I print a BigInt in JavaScript without losing precision?如何在 JavaScript 中打印 BigInt 而不会丢失精度?
【发布时间】:2020-11-20 18:25:44
【问题描述】:

例如,我有一个像 BigInt(714782523241122198) 这样的长整数,是否可以将其转换为字符串而不会丢失任何数字?我想在本地做。

【问题讨论】:

    标签: javascript bigint


    【解决方案1】:

    您必须在数字后加上n,或者将其放在引号中,因为(如目前所写)您有一个数字,它大于 JavaScript 中可表示的最大数字,即 2^53 或9007199254740992。

    console.log(BigInt(714782523241122198).toLocaleString())
    console.log(BigInt("714782523241122198").toLocaleString())
    console.log((714782523241122198n).toLocaleString())

    要明确的是,您当前所做的相当于:

    const x = 714782523241122198
    // x has already lost precision!
    const y = BigInt(x);
    // y was created with an imprecise number
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 2010-10-29
      • 2012-10-26
      • 2013-06-17
      • 2016-06-01
      • 1970-01-01
      相关资源
      最近更新 更多