java代码实现四舍五入的方式
3个回答
展开全部
如果你是用来交差的,可以再声明让我们贴代码,如果你是学习的,那么就探讨一下
1.四舍五入时可以用到int类型,它的得到的是整数,舍弃小数部分。
2.动脑筋想一些小办法,四舍五入可以自己写方法,不必用到API。
我们知道所谓四舍五入,就是满5进一,假设这个数为A,若无法进一,那么他减去0.5,必然小于该数。能进一,必然大于等于该数。那么可不可以用下面的方法?
private int fun(double d) {
int b = (int) d;
if(d - 0.5 >= b){
b++;
return b;
}
else
return b;
}
使用时调用就行了,如system.out(类实例.fun(5.2));
抛砖引玉,欢迎赐教(这个方法只是基本实现,其他提问人慢慢摸索吧)
直接方法:math.round();取离数值最近值
1.四舍五入时可以用到int类型,它的得到的是整数,舍弃小数部分。
2.动脑筋想一些小办法,四舍五入可以自己写方法,不必用到API。
我们知道所谓四舍五入,就是满5进一,假设这个数为A,若无法进一,那么他减去0.5,必然小于该数。能进一,必然大于等于该数。那么可不可以用下面的方法?
private int fun(double d) {
int b = (int) d;
if(d - 0.5 >= b){
b++;
return b;
}
else
return b;
}
使用时调用就行了,如system.out(类实例.fun(5.2));
抛砖引玉,欢迎赐教(这个方法只是基本实现,其他提问人慢慢摸索吧)
直接方法:math.round();取离数值最近值
展开全部
Math的方法主要取整的,
要取多位小数位数的话,比如取小数点以后第二位的话,小数点以后第二位四舍五入!思路:将需要四舍五入的值传入方法,先找出小数点的位置indexof(“.”),取出小数点后一位来判断是否是>5的,是TRUE的话,再做相应处理!以下是取整为例,其他多位小数的话,以此类推!
完整代码如下:在Main函数中测试
Scanner input=new Scanner(System.in);
System.out.println("请输入一个小数");
Double d=input.nextDouble();
String num=d.toString();
int a=Integer.parseInt(num.substring(num.indexOf(".")+1,num.indexOf(".")+2));//获取小数点后的第一位
if(a>=5)//判断是否满足条件
{
a=Integer.parseInt(num.substring(0,num.indexOf(".")))+1;//整数部分+1
}
else
{
a=Integer.parseInt(num.substring(0,num.indexOf(".")));
}
System.out.println("小数"+d+"四舍五入后的结果是:"+a);
要取多位小数位数的话,比如取小数点以后第二位的话,小数点以后第二位四舍五入!思路:将需要四舍五入的值传入方法,先找出小数点的位置indexof(“.”),取出小数点后一位来判断是否是>5的,是TRUE的话,再做相应处理!以下是取整为例,其他多位小数的话,以此类推!
完整代码如下:在Main函数中测试
Scanner input=new Scanner(System.in);
System.out.println("请输入一个小数");
Double d=input.nextDouble();
String num=d.toString();
int a=Integer.parseInt(num.substring(num.indexOf(".")+1,num.indexOf(".")+2));//获取小数点后的第一位
if(a>=5)//判断是否满足条件
{
a=Integer.parseInt(num.substring(0,num.indexOf(".")))+1;//整数部分+1
}
else
{
a=Integer.parseInt(num.substring(0,num.indexOf(".")));
}
System.out.println("小数"+d+"四舍五入后的结果是:"+a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Math.round()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询