背景: 最近用到一些运算的东西,很是基础,记录一下我以为13/10等于1.3,然后使用Math.ceil这个函数方法,取到2.0。当我在eclipse中使用的时候出问题等于1.0,相信很多人知道为什么吧。哈哈,我忽略了,运算本来就是整除,得到也是int类型所以是1.0.
代码如下:
public class TestDemoOneJava {
static int count =13;
int page =10;
public static void main(String[] args) {
int a = (int) Math.floor(count/10); //下取
double ab = Math.ceil((double)13/10);
int b = (int) Math.ceil(count/10); //上取
int c = (int)Math.ceil((double)13/10);
//四舍五入
double e = Math.round(-17.5);
double f = Math.rint(-17.5);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("ab="+ab);
System.out.println("e="+e);
System.out.println("f="+f);
}
}
打印的结果如下:
a=1
b=1
c=2
ab=2.0
e=-17.0
f=-18.0
总结:floor向下取整,ceil向上取整;round和rint四舍五入,取绝对值后舍入,然后加上符号,遇到.5的时候向绝对值小的方向舍之。