黑马程序员技术交流社区
标题:
关于毕老师讲的Math的round算法问题
[打印本页]
作者:
周朋飞
时间:
2012-6-27 10:08
标题:
关于毕老师讲的Math的round算法问题
本帖最后由 周朋飞 于 2012-6-29 22:38 编辑
我知道 round 方法不是四舍五入吗,但是如果是正好是0。5怎么算呢
比如说Math.rount(5.5) 和 Math,round(-5.5)
作者:
黄连兵
时间:
2012-6-27 10:28
0-4:舍去,留下比自己小的最接近的一个整数。
5-9:进位,留下比自己大的最接近的一个整数。
Math.round(5.5) == 6;
Math.round(-5.5)== -5
作者:
吴琼
时间:
2012-6-27 10:32
import java.math.*;
class Test1
{
public static void main(String[] args)
{
long j = Math.round(5.5);//四舍五入,顾名思义就是5以上的就加上5;5.5+0.5=6;所以输出结果是6;
long i = Math.round(-5.5);//-5.5+0.5=5;输出结果是-5;
System.out.println(j);
System.out.println(i);
}
}
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,所以,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
作者:
赵庆礼
时间:
2012-6-27 11:01
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(5.3)的结果为6,Math.ceil(-5.3)的结果是-5;floor的英文意义是地板,该方法就表示向下取整,所以,Math.floor(5.6)的结果为5,Math.floor(-5.6)的结果是-6;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(5.5)的结果为6,Math.round(-5.5)的结果为-5。
这是基本的讲解,你可以参考一下
作者:
sbeeqnui1987
时间:
2012-6-27 11:23
round是四舍五入,注意负数5是舍的,例如:Math.round(1.5)值是2,Math.round(-1.5)值是-1;
floor就是直接去掉小数保留整数,即如果参数是正数则小数部分全舍,参数是负数则小数部分全入。 例如:Math.floor(2.6)的值是2,Math.floor(-2.1)的值是-3
int a;
double b = 1.9,c=1.1;
// round方法的参数,小数点后面的值 >=0.5,则返回整数部分+1,否则返回整数部分
a = Math.round(b) // a = 2
a = Math.round(c) // a = 1
作者:
李伟
时间:
2012-6-27 11:51
Math.rount(5.5) =6
Math,round(-5.5)=-5
作者:
王健
时间:
2012-6-27 15:04
Math.rount(5.5)输出结果是6
Math,round(-5.5)输出结果是-5
作者:
李文龙
时间:
2012-6-27 15:11
如果楼主对于基本的四舍五入了解,比如说6四舍五入就是10了,4四舍五入就是0了,那么,对于小数的四舍五入就能很轻易的了解了,四舍五入达到5之后总是朝着使当前数的最大的方向发展,所以5.5四舍五入是6,这个不难理解,关键是 -5.5 四舍五入后是 -5.0 ,为什么呢,因为 -5.0 比 -6.0 要大,对不对,楼主你想想,那就能很快得出 -5.4 四舍五入之后是 -6.0 , 5.4四舍五入之后是 5.0 ,这个不达到5就舍,所以是小的数。
作者:
刘笑
时间:
2012-6-27 17:56
round方法是返回与给出的数值表达式最接近的整数。
Math.round(number)必选项 number 参数是要舍入到最接近整数的值。
如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
例如,3.5 将舍入为 4,而 -3.5 将舍入为 -3
作者:
张华廷
时间:
2012-6-27 18:20
public class Text1
{
public static void main(String[] args)
{
long j = Math.round(5.5);//在等于0.5时还是进位
long i = Math.round(-5.5);
System.out.println(j);
System.out.println(i);
}
}
//Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地板,该方法就表示向下取整,所以,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
作者:
周朋飞
时间:
2012-6-29 22:37
不管是百度的还是什么的 都谢谢了啊 我后来也自己试了 的确是 百度上说的那种情况 呵呵 兄弟们都辛苦了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2