検索

ホームページ  >  に質問  >  本文

php - 浮動小数点データの比較サイズが大きすぎます

リーリー

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

曾经蜡笔没有小新曾经蜡笔没有小新2791日前915

全員に返信(4)返信します

  • 某草草

    某草草2017-06-21 10:13:00

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

    リーリー

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-21 10:13:00

    リーリー

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-06-21 10:13:00

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

    関連情報公式マニュアル

    方法 1:

    リーリー

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

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

    1. まず

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

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

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

    返事
    0
  • PHP中文网

    PHP中文网2017-06-21 10:13:00

    リーリー

    返事
    0
  • キャンセル返事