skillup

技術ブログ

PHP

PHPでの切り上げ誤差問題

投稿日:

PHPを初めて、4年近くたちますがいまだに知らんことが多いですね(爆)

本日は、

になるという非常にビックリな仕様に遭遇・・・

なにやら結構有名な仕様のようでどうやら2進数と10進数の変換でおこる誤差のようです。

そういやJavaでも似たような処理がありましたね。

私の場合気持ち悪いですが、割った数字をStringにキャスト変換して対応してしましました。

上記の例でいうと、下記のようなコードになります。

そういや昔ECCUBEの中身を見たときの切り上げ、切捨て、四捨五入の処理はceilなどをそのまま使わずに+1したりとかをしてましたね・・・

参考リンク

http://webpaprika.com/1634.html

-PHP

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

composerでのライブラリ登録

今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。 Contents1 ライブラリの作成2 packagistへの登録3 呼び出す側3.1 composer.json3.2 …

no image

ob_startを使ったバッファリング出力

先日var_dumpの結果をログに出力したいときに検索すると下記のようなコードを書けばよいということがわかりました。

ob_start …

no image

cakePHPの認証-Authコンポーネント

ひさびさにPHPをやる機会があり、短期での開発だったため、cakePHPを使いました。 以前やったことがあったんですが、もう2年以上たっていますね。 といいつつも昔のソースを見ながらやることで思い出し …

no image

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

Basic認証のあるページの情報の取得

ひさびさにPHPネタです。 PHPではWEBページを保存するときにfile_get_contents(url)と書いてあげるとHTMLデータを取得できます。 が、Basic認証などのページは当然fal …