Javascript作為一門前端腳本語言,其功能強大且靈活多變,我們可以通過Javascript實現很多常見的場景。其中一個常見的需求是判斷小數。在日常開發中,經常會遇到需要判斷數字是否是小數的場景。下面我們就來詳細講解如何在Javascript中進行小數判斷。
首先,我們需要知道Javascript中判斷一個數字是否是小數的方式,一般使用正則表達式進行匹配。下面是一段判斷數字是否是小數的正則表達式:
var reg = /^-?\d+\.?\d*$/;
上面的正則表達式中,^表示匹配字符串的開頭,$表示匹配字符串的結尾,我們通過在整數部分設置一個?表示這部分可以有也可以沒有,通過在小數部分設置一個*表示這部分可以有多個,即可以為空也可以存在多個小數位。
下面是一個判斷小數的函數實現:
function isDecimal(num) { var reg = /^-?\d+\.?\d*$/; return reg.test(num); }
我們可以通過調用isDecimal函數,來判斷一個數字是否為小數,例如:
console.log(isDecimal(1.23)); // true console.log(isDecimal(-1.23)); // true console.log(isDecimal("1.23")); // true console.log(isDecimal("1.2.3")); // false console.log(isDecimal("abc")); // false
上述代碼中,當傳入的參數為1.23或-1.23或"1.23"時,會返回true,說明這些都是小數。當傳入的參數為"1.2.3"或"abc"時,會返回false,因為這些都不是小數。
除了使用正則表達式進行小數判斷外,我們也可以使用isNaN函數來進行判斷。isNaN函數可以判斷傳入的參數是否為數字類型,如果是數字類型則返回false,反之則返回true。我們可以通過判斷是否為數字類型,以及是否為整數來判斷一個數字是否為小數。再次來看下面一個判斷小數的函數實現:
function isDecimal(num) { return !isNaN(num) && parseFloat(num) != parseInt(num); }
我們可以通過調用isDecimal函數,來判斷一個數字是否為小數,例如:
console.log(isDecimal(1.23)); // true console.log(isDecimal(-1.23)); // true console.log(isDecimal("1.23")); // true console.log(isDecimal("1.2.3")); // false console.log(isDecimal("abc")); // false
上述代碼中,當傳入的參數為1.23或-1.23或"1.23"時,會返回true,說明這些都是小數。當傳入的參數為"1.2.3"或"abc"時,會返回false,因為這些都不是小數。
以上就是Javascript中判斷小數的兩種方式,無論使用哪一種方法都可以達到判斷小數的效果。在實際開發中,可根據實際需求選定適合的方式進行判斷。