4

「35444650.00」をフロートとして MySQL に入力すると、35444648.00 に再フォーマットされ続けます。

4

5 に答える 5

8

float には特定のレベルの精度しかありません。float データ型の精度を超えている可能性があります。代わりに DOUBLE を使用してみてください。

于 2009-11-24T14:23:51.697 に答える
4

FLOAT, REAL, and DOUBLE PRECISIONMySQL のマニュアルでは、 fields は値を近似として保存し、INTEGER, SMALLINT, DECIMAL, and NUMERICfields は値を exact として保存すると主張しています。

この精度の問題を克服する最善の策は、10 進数を使用することだと思います。

参照: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

于 2011-11-04T11:33:34.467 に答える
4

float の精度は 6 桁です。double を使用して 15 を取得するか、numeric(x,y) に切り替えます。興味がある場合は、さまざまなデータ型のMySQL のストレージ要件を確認してください。

于 2009-11-24T14:27:08.287 に答える
2

float のより精度の高い代替手段は ですDOUBLEDECIMALしかし、例を見ると、0 の後に必要な桁数が少なく (2 ~ 4 程度)、10 進数の前の桁数も少ない (10 ~ 12 程度) 場合、データ型が役立つ可能性があると思います。

于 2009-11-24T14:29:02.090 に答える
0

可能な精度のレベルを超えています。float をより正確に定義する必要があります。つまり、"FLOAT(10,5)" は、小数点以下 5 桁までの合計 10 桁の float を意味します。

于 2009-11-24T14:27:07.680 に答える