首先注意f和g都是用幂表示法显示的,1.23456792E8=1.23456792x10的8次方。
其次float和double都有精度限制,即使是double也不能精确保存你赋值的小数部分,所以小数最后几位会有变化,float损失就更大了。
Java中
浮点数.用32位表示,其中24位是1.234567892,8位是E8,这是科学计数法.
double类型用64位表示,精度更高,则表示的位数更多.
f:1.23456792E8
d:1.2345678912345679E8
数字太长了,可以用科学计算法来显示,E8表示10的8次方