完成sqrt()後檢查數字串是否包含小數?
如何檢查結果是否只包含整數?
我想Regex檢查一個小數 - 如果它包含一個小數,這意味着它並沒有均勻地根據整數。這對我來說是足夠的信息。
但是這個代碼心不是工作...
result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result));
我敢打賭,還有其他的方法來完成同樣的事情,但。
完成sqrt()後檢查數字串是否包含小數?
如何檢查結果是否只包含整數?
我想Regex檢查一個小數 - 如果它包含一個小數,這意味着它並沒有均勻地根據整數。這對我來說是足夠的信息。
但是這個代碼心不是工作...
result = sqrt(stringContainingANumber);
decimal = new RegExp(".");
document.write(decimal.test(result));
我敢打賭,還有其他的方法來完成同樣的事情,但。
。意味着任何字符。 你必須引用點。 「\」。
或者你可以測試
if (result > Math.floor(result)) {
// not an decimal
}
這對我最有意義。謝了哥們! – 2012-03-23 12:13:30
不能工作超過15 dighits – Bachas 2017-09-22 07:03:47
當然,由於javascript數字是一個具有約15位數字精度的雙。所以你必須注意某些結果範圍的數字錯誤 – 2017-09-22 15:21:48
「。」在正則表達式語法中有意義,它是使用「\」轉義它所需的「任何東西」。
使用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)
+1使用'.indexOf()'而不是正則表達式,因爲它比這個特定問題的正則表達式更簡單快捷。 – jfriend00 2012-03-23 12:08:25
如果它是一個字符串,我們可以只使用分割功能,然後檢查數組的長度返回。如果它超過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");
}
的可能的複製[檢查一些有小數位/是一個整數( http://stackoverflow.com/questions/2304052/check-if-a-number-has-a-decimal-place-is-a-whole-number) – 2016-04-14 10:01:06