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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈延真 中级黑马   /  2013-5-19 13:43  /  1506 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈延真 于 2013-5-30 21:29 编辑


请在类Demo中写出一个功能实现对一个float类型的数据进行四舍五入并返回一个整数。然后在测试类Test中进行测试。



class Demo
{
public static void getInt(float f)
{ //定义一个十分位,并转成int类型
int shifen =(int) f*10%10;
//判断十分位的取值
if (shifen>=5 && shifen<=9)
{
f = f*10%10+1;
}
else if ((shifen>=0 && shifen<5))
{
f = f*10%10-1;
}
System.out.println(f);
}
}
class Test
{
public static void main(String[] args)
{
Demo.getInt(4.6f);
}
}


3 个回复

倒序浏览
代码如下:
这个问题就是涉及到一个是取小数点后面的值进行判断,还有一个就是强制转换的问题,自己看吧  不懂的话继续问

class Demo

{
    public static void main(String []args)
    {
             Num n=new Num(12.5f);
             System.out.print(n.Change());
    }
}

class   Num
{
        float num;
        int x;
        Num(float num)
        {
                this.num=num;
        }
        int Change()
        {
                if(num*10%10>=5)
                {
                        return x=(int)num+1;
                }
                else
                {
                        return x=(int)num;
                }
        }
}
回复 使用道具 举报
赵利斌 发表于 2013-5-19 14:17
代码如下:
这个问题就是涉及到一个是取小数点后面的值进行判断,还有一个就是强制转换的问题,自己看吧   ...

谢了,呵呵。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马