0

MySQLデータベースにfloatをdecimal(20,10)として保存しようとしています。しかし、これは良い方法ではないと思います。2.14を保存しようとすると、2.1400000000が保存されるからです。

少なくともこれはfloat(20,10)よりも優れています。これは、これが間違って丸められていたためです。しかし、2.14として保存するには、どのタイプを使用する必要がありますか?たとえば34.2222291を値として持つことがあるので、20,2とだけ言うことはできません。

解決策:double(20,10)で修正されました。

4

1 に答える 1

3

2.14との違いは2.1400000000、出力フォーマットの問題です(使用する言語に関係なく、MySQLでも可能です)。

したがって、正確な10進値が必要な場合は、それが最適なDECIMAL(20,10)方法です。DOUBLE(倍精度浮動小数点)はFLOAT(単精度浮動小数点)よりも丸めの問題が少ないだけですが、それでも浮動小数点型であるため、それらを排除することはできません。

于 2013-01-22T10:12:40.340 に答える