黑马程序员技术交流社区
标题:
谁可以完美的解释一下这个问题!!!
[打印本页]
作者:
lwever
时间:
2017-4-1 22:36
标题:
谁可以完美的解释一下这个问题!!!
package com.itheima;
/*
* 方法重载
* 实现两个int整数加法,
* 三个int整形加法
* 两个double行浮点型数加法
*
*/
public class FangFaDemo03 {
public static void main(String[] args) {
int sum1 = add(34,43);
int sum2 = add(34,43,98);
package com.itheima;
/*
* 方法重载
* 实现两个int整数加法,
* 三个int整形加法
* 两个double行浮点型数加法
*
*/
public class FangFaDemo03 {
public static void main(String[] args) {
int sum1 = add(34,43);
int sum2 = add(34,43,98);
double sum3 = add(3.4,4.3); //7.699999999999999
问题
double sum4 = add(3.4,4.4); //7.800000000000001
问题
double sum5 = add(3.4,4.5); //7.9
//输出
System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
System.out.println(sum4);
System.out.println(sum5);
}
//两个int相加
public static int add(int a,int b) {
return a+b;
}
//三个int相加
public static int add(int a,int b,int c) {
return a+b+c;
}
//两个double
public static double add(double a,double b) {
return a+b;
}
}
作者:
lwever
时间:
2017-4-1 22:39
粘贴多了,从下面的package开始看
作者:
hjl21
时间:
2017-4-1 23:39
请使用BigDecimal 类计算(参考API) , 那样就不会有问题了.
详情请看"刘意27天基础视频"_Day14_BigDecimal
java.math
类 BigDecimal
java.lang.Object
继承者 java.lang.Number
继承者 java.math.BigDecimal
所有已实现的接口:
Serializable, Comparable<BigDecimal>
--------------------------------------------------------------------------------
public class BigDecimalextends Numberimplements Comparable<BigDecimal>不可变的、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。因此,BigDecimal 表示的数值是 (unscaledValue × 10-scale)。
BigDecimal 类提供以下操作:算术、标度操作、舍入、比较、哈希算法和格式转换。toString() 方法提供 BigDecimal 的规范表示形式。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2