float 精度に関しては、欠陥のあるデータ型です。 12を表す場合 フロートとして、11.99999999999998を取得します または何か。
'38.03' 10進数、またはより正確な他のデータ型に変換でき(RDBMSによって異なりますが、ここでは一般的です)、float値とは異なります。
floatは32ビット、低精度です。 Doubleは、64ビットのデータ型であるため、はるかにうまく機能します。一部のシステムの10進データ型は、非常に正確な数値を格納するための128ビットの数値データ型であり、通常、金額を表すために使用されます。
そして、=を使用して比較する習慣をスキップします floatの演算子 値。フロートは概算で高速な計算に使用され、floatの値をチェックするために許容できるのは範囲との比較のみです。 。これは基本的にすべてのシステムに当てはまります。