ホームページ  >  記事  >  バックエンド開発  >  PHP_Decimal/四捨五入/切り上げ/切り下げなど

PHP_Decimal/四捨五入/切り上げ/切り下げなど

WBOY
WBOYオリジナル
2016-06-23 13:40:16810ブラウズ

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 になります。


逆に、floorという関数があります。その使い方を見てみましょう


echo ceil(4.1);    // 5echo ceil(9.999);  // 10
floorの特徴は、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 になります


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。