2017-01-05 9 views
1

私はmysqlテーブルに金額を浮動小数点として保存しています。mysqlが浮動小数点値を丸めるのを止める方法はありますか?

問題は、mysqlは数字を上下に丸めています。

ex。 12345.68は12345.7に丸められます

私はこれをどうやって止めることができますか使用しなければならないデータタイプはありますか?

元の値を小数点以下2桁以内に保持したいと考えています。

答えて

3

FLOATタイプを使用しないでください。代わりにDECIMALを使用してください。 Floatは10進数を2進数に変換し、丸め(精度の低下)をもたらします。 Decimalは数値を小数として格納します。変換はしません。

この場合、列をDECIMAL(12,2)と定義しても問題ありません。予想される数字のサイズに基づいて幅(最初の数字)を選択します。この例では、予想されるサイズは12桁です(小数点以下の桁を含む)。

関連する問題