class Test
{
public static void main(String [] args) {
float a;
a = 2e-45f;
double b = 34e23;
System.out.println(a + " " + b); // prints "1.4E-45 3.4E24"
}
}
此代码用于理解java中的指数表示法。
答案 0 :(得分:1)
float a;
a=2e-45f;
a
的值超过或小于float
可以接受的最小数字。请查看here。
MIN_VALUE - 保持最小正非零值的常量 键入float,2 ^( - 149)。
2^(-149) = ~1.4e-45
答案 1 :(得分:0)
浮点数不能保存所有实数的值。如果你需要那种精度,请使用BigDecimal。
答案 2 :(得分:0)
问题是你超出了漂浮的范围。
float:4个字节,IEEE 754.涵盖范围从1.40129846432481707e-45到3.40282346638528860e + 38(正面或负面)。
a=2.0e-44f;
效果很好。