ホームページ > バックエンド開発 > PHPチュートリアル > PHPで丸めずに浮動小数点文字列をインターセプトする方法のまとめ float_PHP Tutorial

PHPで丸めずに浮動小数点文字列をインターセプトする方法のまとめ float_PHP Tutorial

WBOY
リリース: 2016-07-13 10:25:52
オリジナル
833 人が閲覧しました

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
tru​​e

http://www.bkjia.com/PHPjc/824906.html

PHPで浮動小数点型をインターセプトする方法としては、大まかに以下のような方法があります: 1. float Round (float $val [, int $precision] ) は、指定された精度(小数点以下の桁数)に従って val を返します...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート