2008-04-04
取模运算符%,其操作数可以为浮点数,例:55.3%10=5.3
问题:例.int i=55.3;
float j=10.0f;
System.out.println(i%j);
运行结果是5.3还是5.3f
int i=55。3 这样写没有报错吗?
float j=10。0f;
System。out。println(55。3%j);
结果不是5。3,更不可能是5。3f!
55。3%j返回的是一double型,不看运行结果就可以把5。 3f排除!再加上
double型的话,5。3的精度显然是不够的!
-------------------------------------------
首先要弄清楚为什么要加F和D后缀!我们说float和double都可以存放浮点数,如果一个浮点数的精度同时在他们两种类型的范围之类,这个就很难判断是float还是double,所以这个时候就要在数字后面加上后...全部
int i=55。3 这样写没有报错吗?
float j=10。0f;
System。out。println(55。3%j);
结果不是5。3,更不可能是5。3f!
55。3%j返回的是一double型,不看运行结果就可以把5。
3f排除!再加上
double型的话,5。3的精度显然是不够的!
-------------------------------------------
首先要弄清楚为什么要加F和D后缀!我们说float和double都可以存放浮点数,如果一个浮点数的精度同时在他们两种类型的范围之类,这个就很难判断是float还是double,所以这个时候就要在数字后面加上后缀!一个浮点数的默认类型就是double,如果没有明确为float!像float i=55。
3,这样的声明就会出错,要加后缀!
至于取模运算的结果,如果你用一个float去接收的话,结果就是float,如果用double接收的话就是double,直接用
System。out。println(i%j);输出,那么结果默认就是一个double!这样产生的结果是不能人为的给他加上后缀 然后打印出来的!
。
收起