float的存储位是32比特,定义其为7位有效数字,按理32比特存储的数字为-3.4E+38到3.4E+38,那7位有效数字不是太小了,这里的“7位有效数字”究竟是什么意思?
请高手指教,谢谢!
------解决方案--------------------
他所谓的7位有效数字是说精度,不是说范围
------解决方案--------------------
在进行数学运算时,只保留小数点后7位进行运算
System.out.println(1.0000001f * 1.0000009f);
System.out.println(1.00000012f * 1.00000092f);
System.out.println(1.000000123f * 1.000000923f);
他们的计算结果都相同