目录
Check if Value is a Negative Number in JavaScript
检查值是否为负数
使用Math.sign()
方法检查值是否为负数。
如果提供的参数是负数或可以转换为一,则该Math.sign()
方法返回。-1
function isNegative(num) { if (Math.sign(num) === -1) { return true; } return false; } console.log(isNegative(-5)); // 👉️ true console.log(isNegative(5)); // 👉️ false console.log(isNegative('-5')); // 👉️ true console.log(isNegative('test')); // 👉️ false // ------------------------------------------------------ function checkNumberSign(num) { if (Math.sign(num) === 1) { console.log('The value is a positive number'); } else if (Math.sign(num) === -1) { console.log('The value is a negative number'); } } checkNumberSign(5); // 👉️ The value is a positive number checkNumberSign(-5); // 👉️ The value is a negative number
我们使用
Math.sign()
方法来检查一个值是否为负数。
如果提供的参数不是数字,则会将其转换为数字。
Math.sign()
方法返回-1
,则提供的参数为负数或可以转换为一。如果要确保传入参数的类型为number
,请使用
typeof
运算符。
function isNegative(num) { if (typeof num === 'number' && Math.sign(num) === -1) { return true; } return false; }
我们使用逻辑与 (&&) 运算符来链接另一个条件。
我们在调用方法之前检查提供的参数是否为数字Math.sign()
。
该Math.sign()
方法有 5 个可能的返回值:
1
如果参数为正则返回-1
如果参数为负则返回0
如果参数是,它返回0
-0
如果参数是,它返回-0
- 在所有其他情况下它返回
NaN
(不是数字)
下面是一些Math.sign()
直接调用方法的例子。
console.log(Math.sign(-5)); // 👉️ -1 console.log(Math.sign(5)); // 👉️ 1 console.log(Math.sign('-5')); // 👉️ -1 console.log(Math.sign('test')); // 👉️ NaN console.log(Math.sign(0)); // 👉️ 0
如果提供的值不是数字,该方法会尝试将其转换为一。
使用比较运算符检查值是否为负数
或者,您可以使用比较运算符。
如果小于运算符左侧的值还不是数字,它将被转换为 1 并与 进行比较0
。如果表达式返回true
,则值为负数。
function isNegative(num) { if (num < 0) { return true; } return false; } console.log(isNegative(-5)); // 👉️ true console.log(isNegative(5)); // 👉️ false console.log(isNegative('-5')); // 👉️ true console.log(isNegative('test')); // 👉️ false
我们使用
小于 (<)
运算符将左边的值与 进行比较0
。
如果左边的值不是数字,JavaScript 会尝试将其转换为 1。
如果您只希望将数字作为参数,请在
if
语句中添加另一个条件。
function isNegative(num) { if (typeof num === 'number' && num < 0) { return true; } return false; }
以下是使用小于运算符的更多示例。
console.log(-1 < 0); // 👉️ true console.log('-1' < 0); // 👉️ true console.log('test' < 0); // 👉️ false console.log('' < 0); // 👉️ false console.log(null < 0); // 👉️ false
如果您有兴趣阅读更多有关小于运算符在比较它们时如何转换不同类型的值的信息,请查看
MDN 文档的这一部分。
在 JavaScript 中检查数字是否为负整数
检查一个数字是否为负整数:
- 将数字传递给
Number.isInteger()
方法。 - 检查数量是否小于
0
。 - 如果两个条件都满足,则该数字为负整数。
function isNegativeInteger(value) { if (Number.isInteger(value) && value < 0) { return true; } return false; } console.log(isNegativeInteger(0)); // 👉️ false console.log(isNegativeInteger(-1.5)); // 👉️ false console.log(isNegativeInteger(-1)); // 👉️ true console.log(isNegativeInteger('-1')); // false
我们使用
Number.isInteger()
方法来确定传入的值是否为整数。
true
如果该值是整数,则该方法返回,false
否则返回。
下面是一些Number.isInteger()
直接使用该方法的例子。
console.log(Number.isInteger(3)); // 👉️ true console.log(Number.isInteger(3.5)); // 👉️ false console.log(Number.isInteger('3')); // 👉️ false console.log(Number.isInteger(-3)); // 👉️ true
然后,我们使用
逻辑与 (&&)
运算符来链接另一个条件。
要if
运行块,必须满足这两个条件。
第二个条件只有在第一个条件返回时才被评估true
。
在我们的第二个条件中,我们检查整数是否小于0
。如果该值是一个整数并且小于0
,则它是一个负整数。
但是,该方法有一个警告Number.isInteger()
。true
如果传入值,该方法返回:
- 是一个整数
- 是一个可以表示为整数的浮点数
以下是可以表示为整数的浮点数示例:
// 👇️ true console.log(Number.isInteger(-5.0)); // 👇️ true console.log(Number.isInteger(-5.0000000000000000123));
这取决于您的用例,但是,大多数应用程序都可以将诸如-5.0
和之类的数字-3.0
视为负整数。
在 JavaScript 中检查值是否为正数
使用Math.sign()
方法检查值是否为正数。
如果提供的参数是正数或可以转换为一,则该Math.sign()
方法将返回。1
function isPositive(num) { if (Math.sign(num) === 1) { return true; } return false; } console.log(isPositive(-5)); // 👉️ false console.log(isPositive(5)); // 👉️ true console.log(isPositive('5')); // 👉️ true console.log(isPositive('test')); // 👉️ false
我们使用
Math.sign()
方法来检查一个值是否为正数。
该方法采用的唯一参数是一个number
. 如果提供的值不是数字,则会将其转换为 1。
Math.sign()
方法返回1
,则提供的参数是正数或可以转换为 1。如果要确保传入的参数是 type number
,可以在if
语句中添加额外的检查。
function isPositive(num) { if (typeof num === 'number' && Math.sign(num) === 1) { return true; } return false; }
我们使用
逻辑与 (&&)
运算符来链接另一个条件。
我们在调用方法之前检查提供的参数是否为数字Math.sign()
。
该Math.sign
方法有 5 个可能的返回值:
1
如果参数为正则返回-1
如果参数为负则返回0
如果参数是,它返回0
-0
如果参数是,它返回-0
- 在所有其他情况下它返回
NaN
(不是数字)
下面是一些Math.sign
直接调用方法的例子。
console.log(Math.sign(-5)); // 👉️ -1 console.log(Math.sign(5)); // 👉️ 1 console.log(Math.sign('-5')); // 👉️ -1 console.log(Math.sign('test')); // 👉️ NaN console.log(Math.sign(0)); // 👉️ 0
如果提供的值不是数字,该方法会尝试将其转换为一。
在 JavaScript 中检查值是否为正数
或者,您可以使用比较运算符。
如果大于运算符左侧的值还不是数字,它将被转换为 1 并与 进行比较0
。
如果表达式返回true
,则该值为正数。
function isPositive(num) { if (num > 0) { return true; } return false; } console.log(isPositive(-5)); // 👉️ false console.log(isPositive(5)); // 👉️ true console.log(isPositive('5')); // 👉️ true console.log(isPositive('test')); // 👉️ false
我们使用
大于 (>)
运算符将左边的值与 进行比较0
。
如果左边的值不是数字,JavaScript 会尝试将其转换为 1。
如果您只希望将数字作为参数,请在
if
语句中添加另一个条件。
function isPositive(num) { if (typeof num === 'number' && num > 0) { return true; } return false; }
以下是使用大于运算符的更多示例。
console.log(1 > 0); // 👉️ true console.log('1' > 0); // 👉️ true console.log('test' > 0); // 👉️ false console.log('' > 0); // 👉️ false console.log(null > 0); // 👉️ false
如果您有兴趣详细了解大于运算符在比较时如何转换不同类型的值,请查看
MDN 文档的这一部分。
在 JavaScript 中检查字符串是否为正整数
检查字符串是否为正整数:
- 将字符串转换为数字并将其传递给
Number.isInteger()
方法。 - 检查数字是否大于
0
。 - 如果字符串是一个有效的整数并且大于
0
,则该字符串是一个有效的正整数。
function isPositiveInteger(str) { if (typeof str !== 'string') { return false; } const num = Number(str); if (Number.isInteger(num) && num > 0) { return true; } return false; } console.log(isPositiveInteger('0')); // 👉️ false console.log(isPositiveInteger('1')); // true console.log(isPositiveInteger('-1')); // 👉️ false console.log(isPositiveInteger('1.5')); // 👉️ false console.log(isPositiveInteger('test')); // false console.log(isPositiveInteger('')); // 👉️ false console.log(isPositiveInteger(' ')); // 👉️ false
我们首先检查传入的值是否不是字符串。在这种情况下,我们
false
直接返回,因为函数只处理字符串。
您还可以使用 方法检查数字是否为正整数
Number.isInteger()
,并检查数字是否大于0
。
const num = 5; if (Number.isInteger(num) && num > 0) { // 👇️ this runs console.log('num is an integer'); }
我们使用Number()
构造函数将字符串转换为数字并将值存储到变量中。
function isPositiveInteger(str) { if (typeof str !== 'string') { return false; } const num = Number(str); if (Number.isInteger(num) && num > 0) { return true; } return false; }
下面是一些将字符串转换为数字的示例。
console.log(Number('1')); // 👉️ 1 console.log(Number('1.5')); // 👉️ 1.5 console.log(Number('')); // 👉️ 0 console.log(Number(' ')); // 👉️ 0 console.log(Number('hello')); // 👉️ NaN
NaN
如果字符串为空或包含空格,我们返回0
。
第二条语句中的第一个条件if
检查该值是否为有效整数。
function isPositiveInteger(str) { if (typeof str !== 'string') { return false; } const num = Number(str); if (Number.isInteger(num) && num > 0) { return true; } return false; }
如果提供的值是整数,则Number.isInteger
()
方法返回,否则返回。true
false
下面是一些Number.isInteger()
直接使用该方法的例子。
console.log(Number.isInteger(1)); // 👉️ true console.log(Number.isInteger(1.5)); // 👉️ false console.log(Number.isInteger('1')); // 👉️ false console.log(Number.isInteger(-1)); // 👉️ true
我们使用了
逻辑与 (&&)
运算符来链接另一个条件。该if
块仅在两个条件都满足时才运行true
。
第二个条件检查数字是否大于0
。
0
,我们有一个正整数。但是,有一个警告Number.isInteger()
。true
如果传入值,该方法返回:
- 是一个整数
- 是一个可以表示为整数的浮点数
以下是可以表示为整数的浮点数示例:
// 👇️ true console.log(Number.isInteger(10.0)); // 👇️ true console.log(Number.isInteger(10.000000000000000123));
这应该无关紧要,因为大多数应用程序都可以考虑数字,例如1.0
数字2.0
。
您还可以使用Math.sign()
方法来检查字符串是否为正整数。
使用 Math.sign() 检查字符串是否为正整数
这是一个三步过程:
- 使用
Number()
构造函数将字符串转换为数字。 - 使用
Number.isInteger()
方法检查数字是否为整数。 - 使用
Math.sign()
方法检查数字是否为正数。
function isPositiveInteger(str) { const num = Number(str); if (Number.isInteger(num) && Math.sign(num) === 1) { return true; } return false; } console.log(isPositiveInteger('0')); // 👉️ false console.log(isPositiveInteger('1')); // true console.log(isPositiveInteger('-1')); // 👉️ false console.log(isPositiveInteger('1.5')); // 👉️ false console.log(isPositiveInteger('test')); // false console.log(isPositiveInteger('')); // 👉️ false console.log(isPositiveInteger(' ')); // 👉️ false
我们使用了Number()
构造函数将参数转换为数字。
如果传入的数字是整数,则该Number.isInteger()
方法返回true
false
,否则返回。
最后一步是使用Math.sign()
方法检查数字是否为正数。
Math.sign
方法接受一个数字作为参数,如果数字是正数则返回1
-1
,如果数字是负数则返回
这Math.sign()
方法有 5 个可能的返回值:
- 它返回
1
如果参数为正则 - 它返回
-1
如果参数为负 0
如果参数是,它返回0
-0
如果参数是,它返回-0
- 在所有其他情况下它返回
NaN
(不是数字)
如果该Number.isInteger()
方法返回true
并且该Math.sign()
方法返回1
,则该字符串是一个正整数。