ホームページ >バックエンド開発 >PHPチュートリアル >mysql の float 型は非常に奇妙です。2 つの値は等しくありません。

mysql の float 型は非常に奇妙です。2 つの値は等しくありません。

WBOY
WBOYオリジナル
2016-06-13 12:21:351606ブラウズ

mysql の float 型は非常に奇妙です。2 つの値は等しくありません。
テーブルには大量のデータがありますが、フィールドは float 型であり、その 2 つの値は非常に奇妙です。値は同じです

Payment value = 299.7
feiyong value = 299.7

クエリステートメント: feiyong>0 および Payment>0 および Payment
It現時点ではまだクエリを実行できますが、この問題が発生するのは少数の項目だけで、その他はすべて正常です。-----解決策のアイデア---------- ------------

浮動小数点数は非常に大きな数値を表すため、精度の一部が失われます 。そのため、比較する場合は、以下を適用します。差の絶対値が特定の最小値未満である または、比較する前に丸めを使用して有効な数値を取得します
アプリケーション (金融など) で正確な小数点以下の桁数が必要な場合は、DECIMAL 型を使用する必要があります

------解決策のアイデア--------------- ---------

結局のところ、これはごく普通のことです。データの正確性を保証します-----ソリューションアイデア---------------------

型を DECIMAL に変更することをお勧めします------解決策のアイデア----------- -------------


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。