在执行 sqrt() 之后
如何检查结果是否仅包含整数?
我在想正则表达式检查小数 - 如果它包含小数,这意味着它没有均匀地根植于整数。这对我来说已经足够了。
但是这段代码不起作用......
result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result));
我敢打赌,还有其他方法可以完成同样的事情。
在执行 sqrt() 之后
如何检查结果是否仅包含整数?
我在想正则表达式检查小数 - 如果它包含小数,这意味着它没有均匀地根植于整数。这对我来说已经足够了。
但是这段代码不起作用......
result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result));
我敢打赌,还有其他方法可以完成同样的事情。
. 表示任何字符。你必须引用点。“\。”
或者你可以测试
if (result > Math.floor(result)) {
// not an decimal
}
您可以使用%
运算符:
result % 1 === 0; // rest after dividing by 1 should be 0 for whole numbers
使用indexOf()
:
var myStr = "1.0";
myStr.indexOf("."); // Returns 1
// Other examples
myStr.indexOf("1"); // Returns 0 (meaning that "1" may be found at index 0)
myStr.indexOf("2"); // Returns -1 (meaning can't be found)
“。” 在正则表达式语法中具有“任何”含义,您需要使用“\”对其进行转义。
如果它是一个字符串,我们可以使用 split 函数,然后检查返回的数组的长度。如果它大于 1,则它有小数点,否则没有:)。但是这对数字不起作用:(。请参阅最后的编辑。它现在也适用于字符串:)
function checkDecimal() {
var str = "202.0";
var res = str.split(".");
alert(res.length >1);
var str1 = "20";
alert(str1.split(".").length>1);
}
希望它可以帮助某人。快乐学习:)
您是否正在寻找包含十进制数字的检查字符串,您可以尝试这样
var num = "123.677";
if (!isNaN(Number(num)) {
alert("decimal no");
}
else {
alert("Not a decimal number");
}