如何发现一个数字是浮点数或整数?
1.25 --> float
1 --> integer
0 --> integer
0.25 --> float
如何发现一个数字是浮点数或整数?
1.25 --> float
1 --> integer
0 --> integer
0.25 --> float
当前回答
2022年更新-我们可以简单地使用Number的方法。
检查整数或浮点:数字.is有限(val)
检查整数是否:数字.isInteger(val)
检查float(非整数):!Number.isInteger(val)&&Number.isFinite(val)
其他回答
可以使用简单的正则表达式:
function isInt(value) {
var er = /^-?[0-9]+$/;
return er.test(value);
}
或者,您也可以根据需要使用以下功能。它们由PHPJS项目开发。
is_int()=>检查变量类型是否为整数,其内容是否为整数
is_float()=>检查变量类型是否为float,其内容是否为floate
ctype_digit()=>检查变量类型是否为字符串,以及其内容是否只有小数位数
更新1
现在它也检查负数,感谢@ChrisBartley的评论!
尝试这些函数来测试一个值是否是一个没有小数部分的数字基元值,并且在可以表示为精确整数的大小范围内。
function isFloat(n) {
return n === +n && n !== (n|0);
}
function isInteger(n) {
return n === +n && n === (n|0);
}
以下是我对整数的用法:
Math.ceil(parseFloat(val)) === val
很短,很好:)一直工作。如果我没弄错的话,这就是大卫·弗拉纳根的建议。
试试这个
let n;
return (n = value % 1) !== 0 && !isNaN(n);
当返回值为false时,表示输入值为浮点数或浮点数字符串,否则输入值为整数numref或整数字符串。
基本上,它需要检查精度值是否不等于零。
另一个是检查正确的字符串编号。
这是我的:
function isInt(quale) {
var valore = $('#'+quale).val().toLowerCase();
if (isNaN(Number(String(valore))) || (valore.indexOf("e") > 0)) {
// Not int
} else {
// Is Int!
}
}
还有这个:
function isFloat(quale) {
var valore = $('#'+quale).val();
valore = valore.replace(",", "");
if (isNaN(String(valore)) || (valore.indexOf("e") > 0)) {
// Not Float
} else {
// Float
}
}
Ad majora!