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
- JavaScript判斷數字是否是質數JavaScript
- javascript判斷一個變數是否是數字JavaScript變數
- 正規表示式判斷是否是數字
- js精度小數位數正規表示式判斷 - JavaScriptJSJavaScript
- JQuery 判斷 正整數jQuery
- JavaScript 負數轉換為正數JavaScript
- JavaScript判斷整數或者小數JavaScript
- js判斷引數是否為非數字JS
- 怎麼判斷Python數字中的偶數Python
- javascript如何判斷一個變數是否是整數JavaScript變數
- postgresql判斷是否為數字的方法SQL
- C#判斷輸入為數字C#
- JavaScript 判斷變數是否是函式JavaScript變數函式
- javascript判斷一個變數是否存在JavaScript變數
- JavaScript判斷兩個變數是否相等JavaScript變數
- SQL 判斷欄位是否以數字開頭或者包含數字SQL
- Python:判斷一個正整數是否為迴文數Python
- javascript判斷變數是否是數值型別程式碼JavaScript變數型別
- javascript中如何判斷變數的型別?JavaScript變數型別
- javascript如何判斷一個變數是否宣告JavaScript變數
- JavaScript 中對變數型別的判斷JavaScript變數型別
- js如何判斷一個變數是數字還是數字字串JS變數字串
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- js如何判斷一個變數是否是一個數字JS變數
- [CodeWars][JS]如何判斷給定的數字是否整數JS
- C#判斷一個字串是否是數字或者含有某個數字C#字串
- java判斷輸入的字串是否為數字Java字串
- 判斷迴文串 字串/數字相互轉換字串
- javascript中對變數型別的判斷方法JavaScript變數型別
- JavaScript判斷變數型別的四種方法JavaScript變數型別
- 如何判斷JavaScript中的兩變數是否相等?JavaScript變數
- javascript如何判斷一個變數是否是undefinedJavaScript變數Undefined
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- 詳解Java判斷是否是整數,小數或實數的正規表示式Java
- Java判斷一個正整數是不是2的乘方Java
- 易出錯 遺漏“switch” 與遺漏“負數”的判斷
- 利用js正規表示式校驗正數、負數、和小數JS