3

私はフロートデータフィールドを持っています:

`total` float(20,2) unsigned NOT NULL,

「815032.68」のような浮動小数点数を挿入したいのですが、受け入れられず、数値は 815032.69 に丸められます。なぜ?

4

2 に答える 2

1

浮動小数点数は、仮数と指数として格納される 32 ビットの数値です。FLOAT の最大値は +8388608*10^127 で、最小値は -8388608*10^127 です。これは有効数字が 7 桁しかないことを意味し、FLOAT 定義では 20 を使用しました。double データ型を使用してください。

于 2013-08-13T11:44:39.987 に答える
1

固定小数点データ型を使用する

`total` DECIMAL(20,2) unsigned NOT NULL

DECIMAL および NUMERIC 型は、正確な数値データ値を格納します。これらの型は、通貨データなど、正確な精度を維持することが重要な場合に使用されます。

MySQL ドキュメント

浮動小数点データ型は、おおよその数値のみを格納できます。

于 2013-08-13T11:42:01.383 に答える