解释Javascript科学表示法浮点与整数

解释Javascript科学表示法浮点与整数,javascript,Javascript,我与js数字公司合作,在这方面缺乏经验。因此,我想问几个问题: 2.2932600144518896 e+160 这是浮点数还是整数?如果它是浮点数,我如何将它四舍五入到两位小数(得到2.29)?如果它是整数,我想它是一个非常大的数字,我还有一个问题。 感谢从技术上讲,正如评论中所说,这是一个数字 如果需要数字(而不是其字符串表示形式),您可以做什么: var x=2.29326000144518896e+160; var幅值=数学地板(数学对数10(x))+1; log(Math.round

我与js数字公司合作,在这方面缺乏经验。因此,我想问几个问题: 2.2932600144518896 e+160 这是浮点数还是整数?如果它是浮点数,我如何将它四舍五入到两位小数(得到2.29)?如果它是整数,我想它是一个非常大的数字,我还有一个问题。
感谢

从技术上讲,正如评论中所说,这是一个数字

如果需要数字(而不是其字符串表示形式),您可以做什么:

var x=2.29326000144518896e+160;
var幅值=数学地板(数学对数10(x))+1;
log(Math.round(x/Math.pow(10,震级-3))*Math.pow(10,震级-3))JavaScript只有一个,因此从技术上讲,它既不是浮点也不是整数

然而,这并不是真正相关的,因为值(或者更确切地说是它的表示)不是特定于JavaScript的,它使用的是编写非常大/小的数字的标准方法


考虑到这一点,
2.29326000144518896e+160
相当于
2.29326000144518896*Math.pow(10160)
和大约229,后跟158个零,即非常大。

JS不是只有1个数字类型吗?@Carcigenicate是的,它不能精确地存储在JS中,因此可以称之为float
Math.round
?我对类型不感兴趣,但这有什么价值呢。它是2.29还是某个双线性整数
2.2932600144518896e+160
相当于
2.2932600144518896*Math.pow(10160)
,大约229后跟158个零,即非常大。只要这些数字可以表示为尾数中可用位数的整数,它们的指数是正的,或多或少是匹配的,对它们的运算必须是精确的,只要结果仍然可以在不舍入的情况下符合尾数。也就是说,
1.0+10000.0
应该是精确的,而
0.000001+0.00000001
将具有二进制浮点表示的典型舍入误差。