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

MySQL 浮動小数点の精度範囲と丸め

黄舟黄舟2681日前800

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

  • 迷茫

    迷茫2017-05-18 10:53:23

    テーブルを作成したときに f3 を float(6,2) として指定したため、この 6 と 2 は何を意味するのでしょうか?
    6は合計の桁数です。 2 は、小数点以下 2 桁のみが保持されることを意味します。つまり、9が6つ合計で小数点以下2桁の9999.99と表示されます

    返事
    0
  • PHPz

    PHPz2017-05-18 10:53:23

    特にお金の問題に関しては、10 進数を使用することをお勧めします。mysql では、float と double (または real) は浮動小数点数であり、10 進数 (または numberic) は固定小数点数です。

    固定小数点数に対する浮動小数点数の利点は、長さが確実な場合、浮動小数点数はより大きなデータ範囲を表現できることですが、欠点は精度の問題が発生する可能性があることです。

    浮動小数点数と固定小数点数を将来応用する場合、誰もが次の点に留意する必要があります:

    1. 浮動小数点数にはエラーの問題があります。

    2. 通貨などの精度が重要なデータは、固定小数点数で表現または保存する必要があります。

    3. プログラミングで浮動小数点数を使用する場合は、エラーの問題に特別な注意を払い、浮動小数点の比較を避けるようにしてください。

    4. 浮動小数点数におけるいくつかの特殊な値の処理に注意してください。

    こちら http://blog.csdn.net/lingmao5... をチェックしてみてください

    返事
    0
  • 高洛峰

    高洛峰2017-05-18 10:53:23

    float(m,d) において、mは総桁数、dは小数点以下の桁数を表します

    リーリー

    次のように表示されます:

    f1 f2 d1 d2
    3.14159 3.14 3.141592657 3.14
    3 3.00 3 3.00

    説明:

    • 指定なしm,d: floatとdoubleの範囲に応じて値を取得します

    • 指定:m,d : 按照 m,dの値に応じて切り上げ、超えない場合は0

    • を補います。

    返事
    0
  • キャンセル返事