java double 做减法溢出
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 07:07:20
java double 做减法溢出
数据库有几个double类型的数字,有正的也有负的
0.1*0.1+0.2*0.2+(-0.3)*0.3
但结果不是-0.04
数据库有几个double类型的数字,有正的也有负的
0.1*0.1+0.2*0.2+(-0.3)*0.3
但结果不是-0.04
用BigDecimal计算
import java.math.BigDecimal;
import java.math.MathContext;
public class $ {
public static void main(String[] args) {
// 0.1*0.1+0.2*0.2+(-0.3)*0.3
// 0.1*0.1+0.2*0.2-0.3*0.3
BigDecimal a = new BigDecimal(0.1);
a = a.multiply(a, MathContext.DECIMAL32);
BigDecimal b = new BigDecimal(0.2);
b = b.multiply(b, MathContext.DECIMAL32);
BigDecimal c = new BigDecimal(0.3);
c = c.multiply(c, MathContext.DECIMAL32);
a = a.add(b, MathContext.DECIMAL32);
a = a.subtract(c, MathContext.DECIMAL32);
System.out.println(a.doubleValue());
}
}-0.04
import java.math.BigDecimal;
import java.math.MathContext;
public class $ {
public static void main(String[] args) {
// 0.1*0.1+0.2*0.2+(-0.3)*0.3
// 0.1*0.1+0.2*0.2-0.3*0.3
BigDecimal a = new BigDecimal(0.1);
a = a.multiply(a, MathContext.DECIMAL32);
BigDecimal b = new BigDecimal(0.2);
b = b.multiply(b, MathContext.DECIMAL32);
BigDecimal c = new BigDecimal(0.3);
c = c.multiply(c, MathContext.DECIMAL32);
a = a.add(b, MathContext.DECIMAL32);
a = a.subtract(c, MathContext.DECIMAL32);
System.out.println(a.doubleValue());
}
}-0.04
java double 做减法溢出
Java中如何将List变double[]?因为解析csv文件得到的是List,后面做处理需要double[]
java.lang.Math中 min(double a,double b) 提问
Java中的Double.valueOf()和Double.parseDouble()有什么区别?
Java求助错误处Double,MAX_VALUE,Double,MIN_VALUE
java问题..谢谢lass Point { double x,y,z; Point(double _x,double
java中r=Double.valueOf(str).doubleValue();是什么意思
Java里n =(int)Math.sqrt((double)i)是什么意思?
有理数的减法怎么做
Excel表格减法怎么做
如何教孩子做减法?
Java 中float 、double的精度问题:float 、double取值范围是怎么样计算出来的?