更大的分数和浮点输出上的"E"或"e"字符是什么意思?

Lea*_*pez 4 java floating-point

学习java,我有以下代码的意外输出:

int i = 1234567890;
float f = i;
int result = i - (int)f;
Run Code Online (Sandbox Code Playgroud)

它被转回作为"结果"变量的值为-46,我期待0.0,相信"float f = i"将转换为1234567890.0而不是1.23456794E9.试图理解它,我已经注意到,浮点类型最多只允许在小数点前7位数,并且,如果在小数点之前估算出一个多于7位的浮点数,编译器输出一个字符串即由该字符串的第二个索引位置处的小数点组成,并且在倒数第二个索引处,它返回"E"或"e".它是什么?"e"是什么意思?

Guf*_*ffa 6

这是科学记数法,用E表示法.该E代表指数.

1.23456794E9表示1.23456794×10 9,与1234567940相同.

float类型的有限精度意味着该值与该值不完全相同int.科学记数法用于显示大或小的值,它与精度的损失没有任何关系.

  • **E**代表"指数",手持计算器上的符号变为现实. (3认同)