在PHP編程中,我們經(jīng)常會使用到ceil和floor這兩個函數(shù)。這兩個函數(shù)都是用來對浮點數(shù)進行向上和向下取整的操作。
舉個例子,假設(shè)我們有一個浮點數(shù)3.14,如果我們要對它進行向上取整,那么ceil函數(shù)就可以幫我們實現(xiàn)這個操作。代碼如下:
$num = 3.14; $up = ceil($num); echo $up; //輸出為4同樣的,如果我們要對這個浮點數(shù)進行向下取整,那么floor函數(shù)就可以幫我們實現(xiàn)。代碼如下:
$num = 3.14; $down = floor($num); echo $down; //輸出為3有時候,在處理貨幣等金融數(shù)據(jù)時,我們需要將浮點數(shù)按照規(guī)定精確到小數(shù)點后兩位進行四舍五入。PHP中也提供了round函數(shù)來滿足我們的需求。代碼如下:
$num = 3.14159; $round = round($num, 2); echo $round; //輸出為3.14需要注意的是,如果取整數(shù)的數(shù)量為0,則round函數(shù)會進行常規(guī)的四舍五入操作。 除了浮點數(shù)外,ceil和floor函數(shù)也可以用于整數(shù)的取整。不過此時取整的結(jié)果不會有變化,因為整數(shù)本身就是整數(shù),不需要取整。但對于較大的整數(shù),取整會影響數(shù)據(jù)類型。例如,下面代碼中的$num是一個超過PHP整數(shù)上限的數(shù)字,再經(jīng)過取整操作后,數(shù)據(jù)類型會發(fā)生改變。
$num = 2147483648; $up = ceil($num); echo gettype($up); //輸出為double除了ceil和floor函數(shù),PHP還提供了intval函數(shù)來實現(xiàn)整數(shù)的取整。不同于ceil和floor函數(shù),intval函數(shù)可以將字符串類型的數(shù)字也轉(zhuǎn)化為整數(shù)。代碼如下:
$str = “12345.67”; $int = intval($str); echo $int; //輸出為12345綜上所述,ceil、floor和round是進行浮點數(shù)取整的常用函數(shù),同時也可以用于整數(shù)的取整和類型轉(zhuǎn)換。在日常開發(fā)中經(jīng)常會涉及到這些操作,我們可以靈活運用這些函數(shù)來滿足實際需求。