3

sqrt() を実行した後

結果に整数のみが含まれているかどうかを確認するにはどうすればよいですか?

小数をチェックする正規表現を考えていました-小数が含まれている場合、それは整数に均等に根付いていなかったことを意味します。これは私にとって十分な情報です。

しかし、このコードは機能していません...

result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result)); 

ただし、同じことを達成する他の方法があるに違いありません。

4

6 に答える 6

7

. 任意の文字を意味します。ドットを引用する必要があります。「\.」

または、テストできます

if (result > Math.floor(result)) {
   // not an decimal
}
于 2012-03-23T12:05:45.090 に答える
4

%次の演算子を使用できます。

result % 1 === 0;  // rest after dividing by 1 should be 0 for whole numbers
于 2012-03-23T12:01:38.300 に答える
3

使用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)
于 2012-03-23T12:01:06.217 に答える
1

「。」「\」を使用してエスケープする必要がある「何でも」である正規表現構文で意味があります。

于 2012-03-23T12:00:19.430 に答える
0

文字列の場合は、分割関数を使用して、返された配列の長さを確認できます。1 より大きい場合は小数点があります。そうでない場合は :)。ただし、これは数字では機能しません:(。最後の編集を参照してください。文字列でも機能します:)

function checkDecimal() {
    var str = "202.0";
    var res = str.split(".");
    alert(res.length >1);
    var str1 = "20";

    alert(str1.split(".").length>1);
 }

それが誰かを助けることを願っています。ハッピーラーニング:)

于 2015-08-13T20:12:15.630 に答える