我试图重复一个角色N次,并遇到了Math.pow函数。 但是在控制台上检查时,结果对我来说没有任何意义。
Math.pow(10,16) - 1
提供的结果 999999999999999
但为什么{{1}}提供 10000000000000000
答案 0 :(得分:4)
您正在生成超过Number.MAX_SAFE_INTEGER
值的结果,因此它们不再精确到单位。
这与JavaScript对数字使用64位浮点表示这一事实有关,因此在实践中,您只有大约16(十进制)的精度数字。
答案 1 :(得分:0)
与许多其他编程语言不同,JavaScript没有定义不同类型的数字,如整数,短整数,长整数,浮点数等。
JavaScript编号始终存储为双精度浮点数,符合国际IEEE 754标准。
此格式以64位存储数字,其中数字(分数)存储在位0到51中,指数存储在位52到62中,符号存储在位63中:
整数(没有句号或指数表示法的数字)最多可达15位数。