以下是否正确?为什么?JavaScript动态输入int/float
x = 7;
y = 7.00;
z = x + y;
console.log(z);
结果:
我想到日志结果为 “14.00”。
以下是否正确?为什么?JavaScript动态输入int/float
x = 7;
y = 7.00;
z = x + y;
console.log(z);
结果:
我想到日志结果为 “14.00”。
99%的真实声明:JavaScript中没有“动态类型int/float”,因为JavaScript中没有整型或浮点数。 console.log
将写出最紧凑的表示。实际上,console.log(7.00)
显示7
。
更正确的说法:整数在JavaScript内部可用(主要是位操作的结果),但所有到达您的程序的数字都是浮点数。
最后,没有理由为什么console.log
应该显示两位小数,除非最紧凑的表示有两位小数(如7.23
)。
如果不是console.log()调用,我在我的Chrome控制台中执行此操作: – Scotty
真的已经在这里回复了这里。 http://stackoverflow.com/questions/3612744/javascript-remove-insignificant-trailing-zeros-from-a-number – EasyBB
JavaScript实际上并没有“int”类型:所有数字都是浮点数。对于货币,您可能想要使用类似'z.toFixed(2)'的东西来进行显示。 – Curt
@Curt:实际上,对于货币来说,最好是用积分值做所有的计算,然后在显示时除以100(当然,你会像显示的那样显示它们)。因为十进制值不精确。即使积分值以浮点形式存储,它们精确到'9007199254740991',不像十进制数字,由于浮点函数的作用,精确度不能精确。 – Amadan