什么'这是我的错误代码
What's my bug in this code?
我有这个:
if (dTotal % 1 !== 0 || nTotal % 1 !== 0) {
//stuff
}
变量nTotal是数字0.2,但if语句中的内容正在发生。我知道这两个变量是数字,而不是字符串。我只希望if语句中的事情发生在nTotal和dTotal都是整数的情况下。
if (parseInt(dTotal) == parseFloat(dTotal)
&& parseInt(nTotal) == parseFloat(nTotal)) {
alert("success");
}
如果两个都是数字,那么这将起作用。
正确答案来自@IsaacRay;你只是把测试的极性颠倒了。
就其价值而言,公认的答案大约比使用%
慢十倍。
你也可以使用Math.floor
,它大约和%
:一样快
if (Math.floor(dTotal) === dTotal && Math.floor(nTotal) === nTotal) {
Math.floor
基本上去除了数字的小数部分。通过将其与原始数字进行比较,我们可以看出该数字是否为整数。
如果Number.isInteger
可用,您可能会很想使用它,但它非常慢;是偶数parseInt
的两倍、是%
或Math.floor
的二十倍。
JSPerf:http://jsperf.com/testing-if-a-number-is-an-integer
if (!(dTotal % 1 !== 0 || nTotal % 1 !== 0))
OR子句之前需要一个NOT。你原来的代码是:
如果dTotal除以1的余数不为0(意味着它不是整数)或如果nTotal除以1的余数不是0(意味着它不是整数),那么做点什么。。。
你想要的是相反的,所以像我一样加上感叹号。
dTotal % 1 !== 0
这部分可能是真的,这就是为什么if条件是真的。(您正在使用或(||)not和(&&)
相关文章:
- 出现错误:TypeError:window.event在我的javascript代码的firefox中未定义
- 我的javascript代码中有一个奇怪的错误
- 为什么我的 JSON 代码使用自己的输出(来自 JSON.stringify)返回“语法错误”
- 我试图找到此代码中的错误,测试我的 javascript 代码
- 语法错误:我的 js 代码中出现意外的令牌变量
- Heroku网站是对的,本地是错误的.如何在本地克隆我的英雄代码
- 无法修复我的 JavaScript 代码中的错误
- 我的Javascript代码中有一个错误
- 我打开新窗口的代码没有效果.有人能认出我的错误吗
- 什么'这是我的错误代码
- 我的 JQuery 代码中有什么错误吗?彩票只能在点击开始后移动一步
- 我修改了我的PHP代码,但是浏览器中显示的结果没有改变.是否有某种“缓存”?PHP中的错误
- 不能找到我的错误在我的HTML代码,为javascript测验
- 如何获得PHP AJAX错误得到显示在我的jQuery代码
- 我想在我的javascript代码中调用php函数,但我得到了一个sytax错误
- jQuery,当移动我的jQuery代码到外部文件时,得到一个引用错误
- 我的Javascript代码无法解决错误
- Jquery代码不起作用,但JavaScript起作用.我的错误是什么
- 未捕获的语法错误:我的 Javascript 代码中出现意外字符串
- 一些可怕的错误与我的js代码,任何人都可以帮助我调试