- ベストアンサー
特別な四捨五入の計算方法について
いつも大変お世話になっております。 また、お知恵を拝借したく思います。 今、小数点二位までの数字を扱って計算しております。 計算結果の表示について、少数点第2桁目をみて、下の3つの決まりごとにわけて表示させたいのですが、 既にある関数などが見つかりません。うまい方法はあるのでしょうか? 例) 10.90 10.91 10.92 これらなら、少数点第2桁目を切り捨て、10.90と表示 10.93 10.94 10.95 10.96 10.97 これらなら、10.95と表示 10.98 10.99 なら少数点第2桁目を切り上げて、11.00と表示 関数、あるいはアイディアがありましたら、 是非お願いいたします。この後で補足で現在の私のプログラムをのせます。(恥を承知の私のプログラムです。) これを直していただかなくてもよいのです。目的は正確な答えを出すことですので、他に良い方法があればどんな方法でも良いのです。
- みんなの回答 (3)
- 専門家の回答
お礼
moon_nightさん、動作確認までして下さりありがとうございました。感謝です! それから私が重複して書いてしまった(既に削除されてしまいました)方に回答を下さったosamuyさんの回答もこちらに紹介させてください。こちらをご覧になる方たちにとても参考になると思いました。 ●osamuyさんの回答内容 : PHPオンラインマニュアルのUser Contributed Notesより: <? for ( $x = 10.90; $x <= 11.0; $x += 0.01 ){ printf( "%2.2f %2.2f\n", $x, round( $x * 2, 1 ) / 2 ); } ?> でした。 これを($A元値,$B結果値)として応用してしたら、 $B = sprintf( "%2.2f %2.2f\n", $A, round( $total_sales_price * 2, 1 ) / 2 ); ずばり答えが出ました! osamuyさん、私の不注意で折角の回答が消えてしまって、ほんとうにごめんなさい。 私のプログラムにはこのルーチンを使う場所が複数箇所あります。moon_nightさんとosamuyさんの両方使わせて頂きます! みなさん、ありがとうございました!感謝してます!