java - 如何对 float 进行舍入但保持 float (即不将其转换为 int)?

标签 java floating-point simplify

例如,我的结果是圆面积 = 4.3,我的问题是“当我得到的数字大于 0.5 [例如(4.6, 4.7, 4.8, 4.9)] 时,我希望它给我 5.0,但如果小于 0.5 [4.4, 4.3, 4.2, 4.1],则显示 4.0”

我尝试了 Math.round() 但它像 [4] 一样将 float 转换为 int,但我不想将其转换为 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()) 谢谢

最佳答案

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

关于java - 如何对 float 进行舍入但保持 float (即不将其转换为 int)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48263070/

相关文章:

java - 蓝色方 block 是否表示该项目是只读的?

Matlab 简化行为

java - 我们如何在Java中编写 float 的二进制、八进制和十六进制文字?

java - jackson 是否会错误地序列化任何货币值(value)?

list - F#中列表的所有选择-更优雅,更简单

swift - 快速简化功能

java - 首页上的页面打印帮助

java - BlackBerry Web 服务 JSON 解析

java - 按特定顺序运行线程

c++ - 为什么在 C++17 中使用十六进制浮点常量?