有目的地失去精度

时间:2013-12-25 14:47:39

标签: java casting ide int double

将double转换为int:

double d = 5.5;
int i = (int) d;

变量“i”变为5.这正是我想要的,问题是我收到警告:从'double'转换为'int'可能会导致精度损失 我的问题是,有没有办法告诉IDE这种精确损失是预期的,所以我不会得到警告? 那么有没有其他方法可以失去精度并转换为整数?

我知道我可以完全禁用所有丢失精度警告,但这并不好。 我正在使用Intellij IDEA 13

4 个答案:

答案 0 :(得分:5)

考虑在您的方法上添加 @SuppressWarnings(“NumericCastThatLosesPrecision”)。这将成为您关注的便携式解决方案。

答案 1 :(得分:3)

最好的方法是使用Double和Integer。然后你可以使用intValue()方法。

答案 2 :(得分:0)

您可以在Idea中为整个项目禁用此检查。

主菜单 - >分析 - >配置当前文件analisys - >配置检查

使用Seach查找“丢失精确度的数字转换”检查并取消选中它。

答案 3 :(得分:0)

为什么要声明另一个变量“i”.. 我的意思是你可以直接使用“(int)d”,这样你也可以节省一些内存。