A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周朋飞 中级黑马   /  2012-6-27 10:08  /  3159 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周朋飞 于 2012-6-29 22:38 编辑

我知道 round 方法不是四舍五入吗,但是如果是正好是0。5怎么算呢
比如说Math.rount(5.5) 和 Math,round(-5.5)

10 个回复

倒序浏览
0-4:舍去,留下比自己小的最接近的一个整数。
5-9:进位,留下比自己大的最接近的一个整数。
Math.round(5.5) == 6;
Math.round(-5.5)== -5

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
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-28 00:03

评分

参与人数 1黑马币 +10 收起 理由
黄奕豪 + 10 百度辛苦了!!!

查看全部评分

回复 使用道具 举报
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。
这是基本的讲解,你可以参考一下

点评

上楼~~~  发表于 2012-6-28 00:03

评分

参与人数 1黑马币 +10 收起 理由
黄奕豪 + 10 百度辛苦了!!!

查看全部评分

回复 使用道具 举报

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
回复 使用道具 举报
Math.rount(5.5) =6
Math,round(-5.5)=-5
回复 使用道具 举报
王健 中级黑马 2012-6-27 15:04:18
7#
Math.rount(5.5)输出结果是6
Math,round(-5.5)输出结果是-5

点评

看楼上  发表于 2012-6-29 22:49
回复 使用道具 举报
如果楼主对于基本的四舍五入了解,比如说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:19
9#
round方法是返回与给出的数值表达式最接近的整数。

Math.round(number)必选项 number 参数是要舍入到最接近整数的值。

如果 number 的小数部分大于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
例如,3.5 将舍入为 4,而 -3.5 将舍入为 -3
回复 使用道具 举报

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。
回复 使用道具 举报
不管是百度的还是什么的 都谢谢了啊  我后来也自己试了 的确是 百度上说的那种情况  呵呵 兄弟们都辛苦了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马