php - 浮動小数点データの比較サイズが大きすぎます
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-21 10:11:00
0
4
803
リーリー

これら 2 つの異なる数値だけを使用すると、if($a == $b){echo 'equal';} の結果は 'equal' が出力されます。大きすぎて範囲を超えていることはわかっています。$a を出力した結果単独では: 1.2345678912346E 16 16 進数 このような大きなデータを比較する最良の方法は何でしょうか?

曾经蜡笔没有小新
曾经蜡笔没有小新

全員に返信 (4)
某草草

php BC高精度関数ライブラリ

リーリー
いいねを押す+0
    扔个三星炸死你

    リーリー

    いいねを押す+0
      仅有的幸福

      自分のコンピュータでテストしたところ、長さが 14 文字を超えると PHP が失敗します。 システムや PHP バージョンが異なれば、長さも異なります。

      関連情報公式マニュアル

      方法 1:

      リーリー

      方法 2:
      ここでは次のアイデアのみを提供します

      浮動小数点を介して直接比較したい場合は、方法がありません。

      1. まず

      2. で区切られます
      3. 整数部分の桁数を取得し、長さを比較し、サイズを比較します。

      4. 整数部分が等しい場合は、小数部分を比較します。

      ヒント: 数は無限であることを考慮して、分割後の数の長さにも注意する必要があります。それが長い場合は、再度分割します。

      いいねを押す+0
        洪涛

        リーリー

        いいねを押す+0
          最新のダウンロード
          詳細>
          ウェブエフェクト
          公式サイト
          サイト素材
          フロントエンドテンプレート
          私たちについて 免責事項 Sitemap
          PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!