对双精度值进行四舍五入以将其转换为 int (java)

2022-08-31 08:19:59

现在我正在尝试这个:

int a = round(n);

其中 是 一个 但它不起作用。我做错了什么?ndouble


答案 1

代码段中方法的返回类型是什么?round()

如果这是方法,则当输入参数为 Double 时,它将返回 Long。Math.round()

因此,您必须强制转换返回值:

int a = (int) Math.round(doubleVar);

答案 2

如果你不喜欢Math.round(),你也可以使用这个简单的方法:

int a = (int) (doubleVar + 0.5);