【问题标题】:JavaScript - Adding 2 integers simply doesn't do anythingJavaScript - 添加 2 个整数根本不会做任何事情
【发布时间】:2018-04-24 01:02:52
【问题描述】:

当我尝试将两个整数相加时,整数只是保持原来的样子。很难解释,所以这是我的代码:

var levelRewardsID = parseInt(resultData[0].levelRewardsHighestID)
var levelRewardsIDIncrease = Math.floor(Math.random()*9)+1
var newLevelRewardsID = levelRewardsID+levelRewardsIDIncrease
console.log(levelRewardsID)
console.log(levelRewardsIDIncrease)
console.log(newLevelRewardsID)
if (!isNaN(levelRewardsID)) {
  console.log("not NAN")
}
if (!isNaN(levelRewardsIDIncrease)) {
  console.log("not NAN 2")
}
if (!isNaN(newLevelRewardsID)) {
   console.log("not NAN 3")
}

控制台:

89819672607051330000
6
89819672607051330000
not NAN
not NAN 2
not NAN 3

如您所见,一切都是整数。所以这不可能是问题。然而,当我尝试执行var newLevelRewardsID = levelRewardsID+levelRewardsIDIncrease 时,输出与levelRewardsID 相同...我不确定我做错了什么,但如果有人知道,请告诉我。谢谢!

注意:如果有帮助,我正在使用 Node.JS 版本 9.1.0(发布此消息时的最新版本)

【问题讨论】:

  • resultData[0].levelRewardsHighestID 0?
  • @guest271314 不,这是第一个日志
  • 你能在问题的 stacksn-ps 重现问题吗?见stackoverflow.com/help/mcve
  • colors.blue 是什么?
  • 它不是整数。整数限制似乎是这个 9007199254740991 你更大。尝试研究如何对待它引用不同类型的类型

标签: javascript math random integer nan


【解决方案1】:

我认为您达到了 javascript 数量限制,这似乎是 9007199254740992 和 89819672607051330000 > 9007199254740992。

What is JavaScript's highest integer value that a number can go to without losing precision?

【讨论】:

  • 果然,把数字降到10位就解决了!非常感谢您的回复:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
  • 2015-08-10
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多