JavaScript判斷數字正負數
本章節通過程式碼例項介紹一下如何判斷一個變數是正數還是負數。
貌似非常簡單的一個需求,其實深究起來還是有點麻煩的。
有些朋友可能感覺實在是太簡單了,比如下面的程式碼:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var num = 5; if (num > 0) { console.log("正數"); }
貌似很簡單其實漏洞很多的,如果num等於true,同樣也會列印"正數"。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var num = true; if (num > 0) { console.log("正數"); }
下面展開來介紹一下如何判斷變數的正負數:
一.判斷數字的正負:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var num = 5; var numStr = "5"; console.log(typeof num == "number" && !isNaN(num) && num > 0) console.log(typeof numStr == "number" && !isNaN(numStr) && numStr > 0)
上面的程式碼可以驗證一個數字的正負,數字字串不行。
二.數字字串的正負:
當然字串無所謂正負,我們無需鑽這個牛角尖。
[JavaScript] 純文字檢視 複製程式碼執行程式碼var one = "5"; var two = "8.5"; var three = "8.578"; console.log(typeof one == 'string' && one.match(/^\d+((\.\d+){0,})?$/) && parseFloat(one) > 0); console.log(typeof two == 'string' && two.match(/^\d+((\.\d+){0,})?$/) && parseFloat(two) > 0); console.log(typeof three == 'string' && three.match(/^\d+((\.\d+){0,})?$/) && parseFloat(three) > 0);
上面的程式碼可以驗證一個數字字串轉換為數字後的正負。
三.以上兩者的綜合:
很多時候可能無論是真正的數字還是字串可能都要考慮在內,下面就來封裝一下。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var one = 5; var two = "8.5"; var three = "8.578"; function check(arg) { if (typeof arg == "string") { return !!(arg.match(/^\d+((\.\d+){0,})?$/) && parseFloat(arg) > 0) } else if (typeof arg == "number") { return !isNaN(arg) && arg> 0; } else { return "引數不正確"; } } console.log(check("5a")); console.log(check(one)); console.log(check(two)); console.log(check(three));
上面的程式碼實現了我們的要求,更多內容可以參閱相關閱讀。
相關閱讀:
(1).match()參閱正規表示式match()函式一章節
(2).parseFloat()參閱javascript parseFloat()一章節。
(3).typeof參閱javascript typeof運算子一章節。
(4).isNaN()參閱javascript isNaN()一章節。
相關文章
- JavaScript判斷數字是否是質數JavaScript
- js精度小數位數正規表示式判斷 - JavaScriptJSJavaScript
- 正規表示式判斷是否是數字
- JQuery 判斷 正整數jQuery
- awk判斷整除(包含小數和負數)
- 怎麼判斷Python數字中的偶數Python
- JavaScript判斷兩個變數是否相等JavaScript變數
- JavaScript 判斷變數是否是函式JavaScript變數函式
- Python:判斷一個正整數是否為迴文數Python
- C#判斷輸入為數字C#
- postgresql判斷是否為數字的方法SQL
- 統計輸入的數字為正數和負數的個數
- SQL 判斷欄位是否以數字開頭或者包含數字SQL
- javascript中如何判斷變數的型別?JavaScript變數型別
- 素數判斷
- 判斷素數
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- LeetCode65. Valid Number — 判斷合法數字LeetCode
- c++判斷字串全是字母或數字C++字串
- javascript中對變數型別的判斷方法JavaScript變數型別
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- JavaScript判斷變數型別的四種方法JavaScript變數型別
- C#判斷一個字串是否是數字或者含有某個數字C#字串
- 質數的判斷
- 接收使用者輸入的數字,判斷該數字是否為四葉玫瑰數
- 判斷迴文串 字串/數字相互轉換字串
- java判斷輸入的字串是否為數字Java字串
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- 詳解Java判斷是否是整數,小數或實數的正規表示式Java
- 易出錯 遺漏“switch” 與遺漏“負數”的判斷
- 判斷負環模板
- 變數,運算子,if判斷變數
- JavaScript正規表示式校驗非負整數例項JavaScript
- 利用js正規表示式校驗正數、負數、和小數JS
- js-正負數保留小數點特定位數JS
- js 將負數或小數轉成正整數JS
- 質數判斷、質因子分解、質數篩
- 判斷javaScript變數是Ojbect型別還是Array型別JavaScript變數型別
- 正規化判斷