如何对浮点数进行舍入但保持浮点数(即不将其转换为int)?

时间:2018-01-15 12:29:16

标签: java floating-point simplify

例如我有一个圆圈面积= 4.3的结果,我的问题是'当我得到数字大于.5 [例如(4.6,4.7,4.8,4.9)]时,我希望它给我5.0,但是如果小于.5 [4.4,4.3,4.2,4.1]那么告诉我4.0'

我试过Math.round()但它将float转换为int,如[4],但我不想将它转换为int

有办法做到这一点吗?

这是我的代码:

private float radius;
private double result;

public void show(float x)
{
    this.radius = x;
    this.result=Math.pow(x,2)*Math.PI;

    System.out.println("result is: "+result);
}

显然,我想在一个函数中同时使用方法(Math.floor())和(Math.ceil()) 感谢

1 个答案:

答案 0 :(得分:0)

Math.rint可能与您正在寻找的最接近。请注意它rounds half to even