filter_validate_float フィルターは値を float として検証します。
*/
$var=12.3;
var_dump(filter_var($var, filter_validate_float));
//float(12.3)
/*
非負の浮動小数点数 (正の浮動小数点数 + 0): ^d+(.d+)?$
正の浮動小数点数 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] * .[0-9]+)|([0-9]*[1-9][0-9]*))$
非正の浮動小数点数 (負の浮動小数点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$
負の浮動小数点数 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0- 9 ]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮動小数点数 ^(-?d+)(.d+)?
詳細については、http://www.bkjia.com/phper/php-function/35065.htm
を参照してください。
ここではfloat値をn倍した値に最も近いint値を計算できる方法を紹介します。あまり明確ではないので、コードを見てください。
計算式:round($number/n)*n
$number=1234.30;
$rounded =round($number / 3) * 3;
エコー($四捨五入);
?>
結果: 1233
1233 は 3 で割ることができ、3 が 1234.30 に最も近くなります。
Round()についてはここで触れていますが、通常の使い方については今後詳しく紹介します。
01.02.echo(round(3.1415927,2)."
");
03.echo(round(1092,-2));
04.?>
echo(round(3.1415927,2)."
");
echo(round(1092,-2));
?>
3.14
1100
round(3.1415927,2): 四捨五入のため小数点以下 2 桁を維持します。
round(1092,-2): 10 桁を四捨五入します。
floor()関数を紹介します。
01.
02.echo フロア(4.3) // 4 ;
03.エコーフロア(9.999) // 9
;
04.?>
エコーフロア(4.3) // 4
;
エコーフロア(9.999) // 9
;
?>
*/
?>