为什么我得到这个奇怪的答案?
35458.450000000004而不是35458.45
使用java6,7& 8。
public static void main(String[] args) {
double[] as = new double[]{ 1000.0, 1174.0, 1000.0, 2131.0, 240.0,
390.0, 21524.15, 6426.5, 1272.8, 100.0, 200.0};
double v = 0;
for(int i = 0; i < as.length; i++) {
v += as[i];
}
System.out.println(v);
}
在Scala(同样):
scala> val as = List(1000.0, 1174.0, 1000.0, 2131.0, 240.0, 390.0, 21524.15, 6426.5, 1272.8, 100.0, 200.0 );
scala> as.sum
res3: Double = 35458.450000000004
答案 0 :(得分:1)
答案 1 :(得分:1)
它正在使用的类型。使用BigDecimal