php整數判斷

2021-07-12 08:06:26 字數 564 閱讀 9786

在網上看到過這樣三種做法,下面來跟大家討論下,如有問題,歡迎指出,大家共同學習

1,is_int來進行判斷

if(is_int(2.0))else

輸出非整數

一般情況下,是可以判斷出來的,但是如果給出的數字是2.0類似這樣的,這樣的判斷方式就會出現問題,所以這種做法不對

2,floor ,ceil

$a = 2.0;

if(floor($a)==$a)else

輸出整數

用這樣的取整函式,這樣這種做法是可以的

3,正則判斷

**片段

$reg = '/^[0-9][0-9]*$/'

$goods_number = '0';

if( preg_match($reg,$goods_number))else

輸出整數

以上是我自己總結的幾種方法,第二種第三種經過自己的測試是可以的,如過發現有問題,可以提醒下我^_^

接著通過手冊又發現幾個這樣的php判斷函式,如ctype_digit,is_numeric(這個可以判斷16進製制數)。有興趣的朋友可以自己去測測,研究研究

判斷整數溢位

c語言中存在兩類整數算術運算,有符號運算和無符號運算。在無符號運算裡,沒有了符號位,所以是沒有溢位的概念的。所有的無符號運算都是以2的n次方為模。如果算術運算子的乙個運算元是有符號書,另乙個是無符號數,那麼有符號數 會被轉換為無符號數 表示範圍小的總是被轉換為表示範圍大的 那麼溢位也不會發生。但是,...

判斷整數A B C

注意點 1 要注意資料型別。int表示的範圍是 2 31 2 31 1,所以不能用int,而且a b的範圍可能超過int,所以得用long long。整數範圍速查 char 128 127 1 byte short 32767 32768 2 bytes unsigned short 0 65536...

整數溢位,如何判斷整數溢位

c語言中存在兩類整數算術運算,有符號運算和無符號運算。在無符號運算裡,沒有了符號位,所以是沒有溢位的概念的。所有的無符號運算都是以2的n次方為模。如果算術運算子的乙個運算元是有符號書,另乙個是無符號數,那麼有符號數 會被轉換為無符號數 表示範圍小的總是被轉換為表示範圍大的 那麼溢位也不會發生。但是,...