PHPフロア関数の問題

WBOY
リリース: 2016-06-23 13:41:33
オリジナル
1147 人が閲覧しました

$money=271.29;
echo $money=floor($money*pow(10,2));
この印刷物は 27129 です
$money=271.28;
echo $money=floor(10, 2));
出力結果は 27127


ディスカッションへの返信 (解決策)

$money=271.28;printf("%.12f", $money*pow(10,2)); //27127.999999999996echo $money=floor($money*pow(10,2)); //27127
ログイン後にコピー
ログイン後にコピー

27127.999999999996 切り捨て後の 27127 ではないですか?

$money=271.28;printf("%.12f", $money*pow(10,2)); //27127.999999999996echo $money=floor($money*pow(10,2)); //27127
ログイン後にコピー
ログイン後にコピー

27127.999999999996 切り捨て後の27127ではないでしょうか?

27128.00000000 ではなく、27127.999999999996 ではないでしょうか
浮動小数点数なので精度の問題は当然あります

浮動小数点数に関する知識を磨いてください

?PHP float の場合は??見てください??: http://www.laruence.com/2013/03/26/2884.html


http://php.net/manual/zh/function.floor.php

http://php.net /manual/zh/function.ceil .php

http://php.net/manual/zh/function.round.php

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート