私はJavaで、数学を実行し、ユーザーに手順を示すWebアプリを構築しています。小数を使用して基本的な算術演算を行うと、正確な出力が乱雑になることがよくあります。
これが私の問題です:
double a = 0.15;
double b = 0.01;
System.out.println(a - b);
// outputs 0.13999999999999999
float a = 0.15;
float b = 0.01;
System.out.println(a - b);
// outputs 0.14
float a = 0.16f;
float b = 0.01f;
System.out.println(a - b);
// outputs 0.14999999
double a = 0.16;
double b = 0.01;
System.out.println(a - b);
// outputs 0.15
complete
どちらも正確さについては信頼できません。より正確な数値クラスはありますか、それとも値を四捨五入する必要がありますか?