Javascript 检查数字字符串是否包含小数?

Javascript 检查数字字符串是否包含小数?,javascript,regex,math,decimal,sqrt,Javascript,Regex,Math,Decimal,Sqrt,在执行sqrt()之后 如何检查结果是否只包含整数 我想用正则表达式来检查小数点——如果它包含小数点,那就意味着它不是均匀地进入整数的根。这对我来说已经足够了 但是这个代码不起作用 result = sqrt(stringContainingANumber); decimal = new RegExp("."); document.write(decimal.test(result)); 我打赌还有其他方法可以完成同样的事情。“”在正则表达式语法中有其含义,即使用“\”转义所需的“任何东西”

在执行sqrt()之后

如何检查结果是否只包含整数

我想用正则表达式来检查小数点——如果它包含小数点,那就意味着它不是均匀地进入整数的根。这对我来说已经足够了

但是这个代码不起作用

result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result)); 
我打赌还有其他方法可以完成同样的事情。

“”在正则表达式语法中有其含义,即使用“\”转义所需的“任何东西”。

使用:


您可以使用
%
运算符:

result % 1 === 0;  // rest after dividing by 1 should be 0 for whole numbers
。表示任何字符。 你必须引用点。“\”

或者你可以测试一下

if (result > Math.floor(result)) {
   // not an decimal
}

如果是字符串,我们可以使用split函数,然后检查返回的数组的长度。如果大于1,则有小数点,否则不为:)。但这不适用于数字:(.请参阅上次编辑。它现在也适用于字符串:)

希望它能帮助别人。
快乐学习:)

您是否正在查找包含十进制数字的检查字符串, 你可以这样试试

var num = "123.677";
if (!isNaN(Number(num)) {
alert("decimal no");
}
else {
alert("Not a decimal number");
}

+1用于使用
.indexOf()
而不是正则表达式,因为对于这个特定问题,它比正则表达式更简单、更快。但是,我假设
result
在这里已经是一个数字,因为它是
sqrt()
函数的结果。我不确定你是否解决了OP的问题。@jfriend00:接得好。那么我想使用
%
操作符就更直接了。这对我来说是最有意义的。谢谢你,伙计!当然,因为javascript数字是一个双精度数字,大约有15位精度。因此,您必须注意某些结果范围内的数值误差,大约为“42.00”
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");
}