如何檢查數字是浮點數仍是整數?

如何找到數字爲floatintegerjavascript

1.25 --> float  
1 --> integer  
0 --> integer  
0.25 --> float

#1樓

您可使用一個簡單的正則表達式: php

function isInt(value) {

    var er = /^-?[0-9]+$/;

    return er.test(value);
}

或者您也能夠根據須要使用如下功能。 它們由PHPJS Project開發。 java

is_int() =>檢查變量類型是否爲整數,而且其內容是否爲整數 git

is_float() =>檢查變量類型是否爲float以及其內容是否爲float 正則表達式

ctype_digit() =>檢查變量類型是否爲字符串,而且其內容是否只有十進制數字 spa

更新1 設計

如今它也檢查負數,感謝@ChrisBartley評論code


#2樓

確實沒必要這麼複雜。 整數的parseFloat()和parseInt()等效項的數值將相同。 所以,您能夠這樣作: ip

function isInt(value){ 
    return (parseFloat(value) == parseInt(value)) && !isNaN(value);
}

而後 開發

if (isInt(x)) // do work

這也將容許進行字符串檢查,所以並不嚴格。 若是要一個強類型的解決方案(又名,不能與字符串一塊兒使用):

function is_int(value){ return !isNaN(parseInt(value * 1) }

#3樓

function isInt(n) 
{
    return n != "" && !isNaN(n) && Math.round(n) == n;
}
function isFloat(n){
    return n != "" && !isNaN(n) && Math.round(n) != n;
}

適用於全部狀況。


#4樓

在Java腳本中,全部數字在internally 64 bit floating point都是internally 64 bit floating point ,與Java中的double相同。 javascript中沒有不一樣的類型,全部類型均由number表示。 所以,您將沒法進行檢查instanceof 。 可是,您可使用上面給出的解決方案來肯定它是否爲分數。 Java腳本的設計人員認爲,使用單一類型的腳本能夠避免大量的類型轉換錯誤。


#5樓

帶有零小數部分(例如1.0、12.00、0.0)的任何Float數字都隱式轉換爲Integer,所以沒法檢查它們是否爲Float。

相關文章
相關標籤/搜索