我尝试执行以下程序,输出看起来很不寻常。
公共类FloatingPointIssue {
public static strictfp void main(String[] args) {
float floatValue = 277677.86f;
double doubleValue = 277677.86;
System.out.println(floatValue);
System.out.println(doubleValue);
}
输出:
277677.88 277677.86
使用double绝对没有问题但是当我尝试使用float时,输出不是预期的。 有人可以试着向我解释实际上导致这个问题的内部事件(使用浮点数)。
非常感谢:)