filter_validate_float 過濾器把值作為浮點(diǎn)數(shù)來驗(yàn)證,實(shí)例代碼如下:
- $var=12.3;
- var_dump(filter_var($var, filter_validate_float));
- //float(12.3)
非負(fù)浮點(diǎn)數(shù)(正浮點(diǎn)數(shù) + 0):^d+(.d+)?$
正浮點(diǎn)數(shù) ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮點(diǎn)數(shù)(負(fù)浮點(diǎn)數(shù) + 0) ^((-d+(.d+)?)|(0+(.0+)?))$
負(fù)浮點(diǎn)數(shù) ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮點(diǎn)數(shù) ^(-?d+)(.d+)?
在這里給大家介紹一種方法,它可以計(jì)算出以n成倍增加最接近float值的int值,說的不是很清楚,那就請(qǐng)大家直接看代碼吧.
公式:round($number/n)*n
- <?php
- $number=1234.30;
- $rounded = round($number / 3) * 3;
- echo($rounded);
- ?>
- //結(jié)果:1233
- //1233可以整除3,且是整除3最接近1234.30。
這里提到round(),就順便再介紹下它的常規(guī)用法,詳細(xì)的日后將給予說明.
- <?php
- echo(round(3.1415927,2)."<br/>");
- echo(round(1092,-2));
- ?>
- <?php
- echo(round(3.1415927,2)."<br/>");
- echo(round(1092,-2));
- ?>
- //結(jié)果:
- 3.14
- 1100
round(3.1415927,2):保留2個(gè)小數(shù),進(jìn)行四舍五入.
round(1092,-2):將十位數(shù)四舍五入.
再順便給大家介紹一個(gè)函數(shù)floor(),實(shí)例代碼如下:
- <?php
- echo floor(4.3); // 4
- echo floor(9.999); // 9
- ?>
- <?php
- echo floor(4.3); // 4
- echo floor(9.999); // 9
- //開源代碼Vevb.com
- ?>
返回不大于value的一個(gè)整數(shù),將value的小數(shù)部分舍棄,這里需要注意下,雖然value被舍棄了小數(shù)部分,但是floor(value)得出的結(jié)果仍然是float.
新聞熱點(diǎn)
疑難解答