PHPで浮動小数点型をインターセプトするには、大まかに次のメソッドがあります:
1, float Round ( float $val [, int $precision ] ) 指定された精度 (小数点以下の小数点以下の桁数) に丸められた val を返します。精度は負またはゼロ (デフォルト) にすることもできます。
エコーラウンド(4.3) //4
2, string sprintf ( string $format [,mixed $args [,mixed $... ]] ) は、フォーマットされたデータの文字列を返します
コードをコピーします コードは次のとおりです:
$a= 12.338938438;
echo sprintf("%.5f",$a) //結果: 12.33894
$a=12.3312356;
echo sprintf("%.5f",$a);//12.33124
echo sprintf ("% f",$a);//331236 デフォルトは小数点以下 6 桁です
3, string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
コードをコピーします $number = 1234.5678;
$english_format_number =number_format($number, 2, '.', ''); // 1234.57
上記時間要件を切り上げる必要はありません。良い解決策が思いつきません。ご存知の方がいらっしゃいましたら、教えていただけますか。
面倒な関数を自分で書いたので記録しました
コードをコピー
コードは以下の通りです:function getFloatValue($f,$len) {
$tmpInt=intval($f);
$ tmpDecimal=$f-$tmpInt;
$str="$tmpDecimal";
$subStr=strstr($str,'.');
if(strlen($subStr)<$len+1)
$repeatCount=$len+1-strlen($subStr);
$str=$str."".str_repeat("0",$repeatCount);
return $tmpInt."".substr($ str, 1,1+$len);
}
echo getFloatValue(12.99,4) //12.9900
echo getFloatValue(12.9232555553239,4) //12.9232
http://www.bkjia.com/PHPjc/824906.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/824906.html
技術記事 PHPで浮動小数点型をインターセプトする方法としては、大まかに以下のような方法があります: 1. float Round (float $val [, int $precision] ) は、指定された精度(小数点以下の桁数)に従って val を返します...