如何找到數字爲float
或integer
? javascript
1.25 --> float 1 --> integer 0 --> integer 0.25 --> float
您可使用一個簡單的正則表達式: 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
確實沒必要這麼複雜。 整數的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) }
function isInt(n) { return n != "" && !isNaN(n) && Math.round(n) == n; } function isFloat(n){ return n != "" && !isNaN(n) && Math.round(n) != n; }
適用於全部狀況。
在Java腳本中,全部數字在internally 64 bit floating point
都是internally 64 bit floating point
,與Java中的double相同。 javascript中沒有不一樣的類型,全部類型均由number
表示。 所以,您將沒法進行檢查instanceof
。 可是,您可使用上面給出的解決方案來肯定它是否爲分數。 Java腳本的設計人員認爲,使用單一類型的腳本能夠避免大量的類型轉換錯誤。
帶有零小數部分(例如1.0、12.00、0.0)的任何Float數字都隱式轉換爲Integer,所以沒法檢查它們是否爲Float。