【发布时间】:2015-07-06 05:40:25
【问题描述】:
所有整数字面量在 java 中都被视为 int,而浮点字面量在 java 中被视为 double。 那为什么
byte b =10;
没有给出任何错误,但是
float f = 10.0;
在两种情况下都发生向下转换时会损失精度误差?
【问题讨论】:
-
这是因为浮点数定义的标准。阅读更多en.wikipedia.org/wiki/IEEE_floating_point
-
请注意,使用
f后缀,您将获得float文字而不是double文字......而使用L后缀,您将获得long文字而不是而不是int文字。所以你的第一句话有点过于宽泛了。
标签: java type-conversion