首页 > 解决方案 > 摆脱“浮点上下文中的整数除法”警告

问题描述

是否可以在这行代码中摆脱“浮点上下文中的整数除法”警告:

int num = 14;
int roundedValue = (Math.round(num / 10) * 10); 

标签: javaintellij-ideawarningssuppress-warnings

解决方案


那么一种解决方案是

int roundedValue = (num / 10) * 10; 

请注意,整数除法会截断,因此上述Math.round调用是多余的。

另一方面,这可能不会给您期望的答案。给出不同(但可能更正确)答案的可能替代方法是:

int roundedValue = Math.round(num / 10.0) * 10; 

(例如,您将看到不同的结果num = 16。)

换句话说,这个警告实际上可能是在指出代码中的错误!如果警告告诉你一些重要的事情,那么让警告“走开”是个坏主意。


如果您确实需要使用 Intellij 抑制特定行上的警告;请参阅在 IntelliJ 中禁用警告一行。(使用 IDE 快捷方式意味着您不必知道编译器特定的警告名称。)


推荐阅读