我是一名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
两者都不太可靠,不能完全准确。是否有更精确的数字类或者应该将值四舍五入?
strictfp
会降低你的精度! - Marko Topolnik