我对这段代码有问题!我正在尝试在 java 中运行代码,但答案似乎很奇怪。
float a=0.1F;
float b=0.2F;
if((a+b)==0.3){
System.out.println("True");
}
else{
System.out.println("False");
}
答案是:False 但理论上应该返回 True。如果我们使用 a 和 b 的值,例如 0.15 和 0.15 或 0.05 和 0.25,则该函数返回 True。我很困惑。我在某处读过 Java/JavaScript 等语言实现了 IEEE-754 数字格式!如果是这样,那么这种格式是什么,代码有什么问题?有没有办法改变数字格式?