【问题标题】:JavaScript dynamic typing int/float [closed]JavaScript 动态类型 int/float [关闭]
【发布时间】:2015-07-13 01:53:47
【问题描述】:

下面的说法正确吗?为什么?

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

结果:

14

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

【问题讨论】:

  • 已经回答了,所以在这里看看。 stackoverflow.com/questions/3612744/…
  • Javascript 实际上没有“int”类型:所有数字都是浮点数。对于货币,您可能需要使用 z.toFixed(2) 之类的东西来进行显示。
  • @Curt:实际上,对于货币,最好以整数值进行所有计算,然后在显示时除以100(是的,你会像显示一样显示它们);因为十进制值不精确。即使将整数值存储为浮点数,它们也可以精确到9007199254740991,这与十进制数不同,因为浮点数的功能无法精确。
  • 这不能回答问题,EasyBB。
  • @Amadan。我不确定你是否明白我在说什么。 Javascript 中没有“整数”类型:只有数字,即浮点数。我不是建议 Scotty 使用花车——他别无选择。

标签: javascript dynamic-typing


【解决方案1】:

99% 正确的陈述:JavaScript 中没有“动态类型 int/float”,因为 JavaScript 中没有整数或浮点数。 console.log 将编写最紧凑的表示。事实上,console.log(7.00) 显示为7

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

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

【讨论】:

  • 如果不是 console.log() 调用我在我的 Chrome 控制台中执行此操作:
猜你喜欢
  • 1970-01-01
  • 2014-05-25
  • 2019-02-24
  • 2019-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多