ホームページ >バックエンド開発 >PHPチュートリアル >PHP_Decimal/四捨五入/切り上げ/切り下げなど
10 進数の例:
PHP は小数点以下 2 桁を保持して四捨五入します
$n=0.1265489;echo sprintf("%.2f", $n); // 0.13
$n% をフォーマットするために sprintf 関数を使用していることがわかります。2f がターゲットのフォーマットで、2 は f が表す 2 桁を意味しますfloat (浮動小数点型) 3 番目は 10 進数であり、6 は四捨五入されます
別の例を見てください
$n=0.1265489echo substr(sprintf("%.3",$n),0,-1);// 0.12実際、sprintf の特性を理解すると、コードは 2 を四捨五入せずに 10 進数として出力します。小数点を四捨五入します。余分な 1 桁を予約し、substr を使用して最初の 2 桁を切り取ります。上向き? つまり、少し超えた場合は 1 ビット進みます。たとえば、この例では 4.1 が 5 になります。
echo ceil(4.1); // 5echo ceil(9.999); // 10floorの特徴は、2番目の出力で特に顕著です。小数点以下の桁数であっても、下がらずに限りなく 10 に近づく整数は 9 です。 U
Round関数
PHPマニュアルのRound関数については、 Float Round (Float $ Val [, in t $精度 = 0 [, int $model = PHP_ROUND_HALF_UP ]] ) 指定された精度 (小数点以下の小数点以下の桁数) に従って val を丸めた結果を返します。精度は負またはゼロ (デフォルト) にすることもできます。 round の最初のパラメータはデータ ソース、2 番目のパラメータは保持する小数点以下の桁数、次のパラメータ (たとえば、2 を入力した場合、3 番目のパラメータが最後の桁になります) が四捨五入されます。これは負の数値であり、データから取得されます。ソースの最後の桁から 0 までの対応する長さをカウントし、最後の桁を四捨五入します。たとえば、round(123456,-2) は 6 から数えて 123456 になります。両方の桁をゼロにし、最後の桁は 5 (後ろから) 最初の桁は 6、最後の桁は 5) を四捨五入して、出力は 123500 になります