关于Math的round()、floor()、ceil()函数对负数的计算方式 您所在的位置:网站首页 编程中round什么意思 关于Math的round()、floor()、ceil()函数对负数的计算方式

关于Math的round()、floor()、ceil()函数对负数的计算方式

2024-03-08 00:57| 来源: 网络整理| 查看: 265

各自功能分别是:

round():四舍五入;2.3->2;2.5->3;2.6->3    -2.3->-2;-2.5->-2;-2.51->-3

floor():向下取整,得到的值不大于原来的值;2.3->2;2.5->2;2.6->2;   -2.3->-3

ceil():向上取整,得到的值不小于原来的值;2.3->3;2.5->3;2.6->3;    -2.3->2

 

另外这里说下 round() 对负数 例如 -2.5 的这样处于小数中间值 .5 的四舍五入计算:

Math.round(-2.51) = -3

但是Math.round(-2.5) = -2;并不是 -3

通过查看Math.round()源码,有部分是:

public static long round(double a) {     return (long)floor(a + 0.5d);     }

可以看出,round()计算规则是:

返回最接近参数的 long.结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型.

所以:

floor(-2.5+0.5) = -2;

floor(-2.51+0.5) = floo(-2.01) = -3 

因此Math.round(-2.5) = -2,而不是 -3 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有