java中关于四舍五入

发布网友 发布时间:2022-04-23 13:25

我来回答

2个回答

热心网友 时间:2023-10-15 14:12

你的程序我帮你改完了,你看看吧.(改动的地方见注释)

public class Test {
 public static void main(String[] args) {
  double a=2.5;
  double b=7.5;
  long c=Math.round(a*a+b*b);//这里不用强转,返回长整型
  System.out.println(c);//这里直接打印,不加引号
 }
}

运行结果

63

追问请问c为什么要使用长整型呢,我把最后一步去掉引号,输出结果63,用int和long区别应该不大吧

追答因为double的对应整型是长整型long,float对应的整型才是整型int,因为double的范围更大,位数更多,所以是长整型,
如果你强转为int型,数据不大没问题,数据大了程序就会截短数据,丢弃尾部,导致数据失真,所以最好不要强制转换成int类型.

热心网友 时间:2023-10-15 14:12

public class Sum {
public static void main(String[] args) {
double a = 2.5;
double b = 7.5;
int c ;
double sum = a * a + b * b;
c =(int) (sum + 0.5);
System.out.println(c);
}
}

热心网友 时间:2023-10-15 14:12

你的程序我帮你改完了,你看看吧.(改动的地方见注释)

public class Test {
 public static void main(String[] args) {
  double a=2.5;
  double b=7.5;
  long c=Math.round(a*a+b*b);//这里不用强转,返回长整型
  System.out.println(c);//这里直接打印,不加引号
 }
}

运行结果

63

追问请问c为什么要使用长整型呢,我把最后一步去掉引号,输出结果63,用int和long区别应该不大吧

追答因为double的对应整型是长整型long,float对应的整型才是整型int,因为double的范围更大,位数更多,所以是长整型,
如果你强转为int型,数据不大没问题,数据大了程序就会截短数据,丢弃尾部,导致数据失真,所以最好不要强制转换成int类型.

热心网友 时间:2023-10-15 14:12

public class Sum {
public static void main(String[] args) {
double a = 2.5;
double b = 7.5;
int c ;
double sum = a * a + b * b;
c =(int) (sum + 0.5);
System.out.println(c);
}
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com