私はフロートデータフィールドを持っています:
`total` float(20,2) unsigned NOT NULL,
「815032.68」のような浮動小数点数を挿入したいのですが、受け入れられず、数値は 815032.69 に丸められます。なぜ?
私はフロートデータフィールドを持っています:
`total` float(20,2) unsigned NOT NULL,
「815032.68」のような浮動小数点数を挿入したいのですが、受け入れられず、数値は 815032.69 に丸められます。なぜ?
浮動小数点数は、仮数と指数として格納される 32 ビットの数値です。FLOAT の最大値は +8388608*10^127 で、最小値は -8388608*10^127 です。これは有効数字が 7 桁しかないことを意味し、FLOAT 定義では 20 を使用しました。double データ型を使用してください。
固定小数点データ型を使用する
`total` DECIMAL(20,2) unsigned NOT NULL
DECIMAL および NUMERIC 型は、正確な数値データ値を格納します。これらの型は、通貨データなど、正確な精度を維持することが重要な場合に使用されます。
浮動小数点データ型は、おおよその数値のみを格納できます。