JavaScript动态类型int/float

JavaScript动态类型int/float,javascript,dynamic-typing,Javascript,Dynamic Typing,以下是正确的吗?为什么 x = 7; y = 7.00; z = x + y; console.log(z); 结果: 十四, 我希望日志结果是“14.00”。一个99%正确的语句:JavaScript中没有“动态键入int/float”,因为JavaScript中没有int或floatconsole.log将编写最紧凑的表示。实际上,console.log(7.00)显示7 更正确的说法是:整数在JavaScript中是内部可用的(主要是位操作的结果),但到达程序的所有数字都是浮点数 最后,

以下是正确的吗?为什么

x = 7;
y = 7.00;
z = x + y;
console.log(z);
结果:

十四,


我希望日志结果是“14.00”。

一个99%正确的语句:JavaScript中没有“动态键入int/float”,因为JavaScript中没有int或float
console.log
将编写最紧凑的表示。实际上,
console.log(7.00)
显示
7

更正确的说法是:整数在JavaScript中是内部可用的(主要是位操作的结果),但到达程序的所有数字都是浮点数


最后,
console.log
没有理由显示两位小数的任何内容,除非最紧凑的表示法有两位小数(如
7.23
)。

一个99%正确的语句:JavaScript中没有“动态键入int/float”,因为JavaScript中没有int或float
console.log
将编写最紧凑的表示。实际上,
console.log(7.00)
显示
7

更正确的说法是:整数在JavaScript中是内部可用的(主要是位操作的结果),但到达程序的所有数字都是浮点数


最后,没有理由说明
console.log
应该显示两位小数的任何内容,除非最紧凑的表示法有两位小数(如
7.23
)。

已经回答了,请看这里。Javascript实际上没有“int”类型:所有数字都是浮点数。对于货币,您可能希望使用类似于
z.toFixed(2)
的东西来显示。@Curt:实际上,对于货币,最好是以整数值进行所有计算,然后在显示时除以
100
(是的,您可以按显示的方式显示);因为十进制值不精确。即使整数值被存储为浮点数,它们的精度最高可达
9007199254740991
,这与十进制数不同,十进制数由于浮点数的作用而无法精确。这并不能回答问题,很容易。@Amadan。我不确定你是否明白我说的话。Javascript中没有“整型”类型:只有数值型,即浮点型。我不是建议斯科蒂使用浮球——他别无选择。他已经回答了,所以请看这里。Javascript实际上没有“int”类型:所有数字都是浮点数。对于货币,您可能希望使用类似于
z.toFixed(2)
的东西来显示。@Curt:实际上,对于货币,最好是以整数值进行所有计算,然后在显示时除以
100
(是的,您可以按显示的方式显示);因为十进制值不精确。即使整数值被存储为浮点数,它们的精度最高可达
9007199254740991
,这与十进制数不同,十进制数由于浮点数的作用而无法精确。这并不能回答问题,很容易。@Amadan。我不确定你是否明白我说的话。Javascript中没有“整型”类型:只有数值型,即浮点型。我并不是建议Scotty使用float——他别无选择。如果不使用console.log()调用,我在Chrome控制台中执行此操作:如果不使用console.log()调用,我在Chrome控制台中执行此操作: