任何人都可以解释为什么会这样吗?如果我得到SQL总和它的总和正确。我的代码如下。
private void calTotalSMV() {
double ttl_smv = 0;
for (int x = 0; x < OBJ_CALLER.DTMEMERG.getRowCount(); x++) {
ttl_smv += Double.parseDouble(OBJ_CALLER.DTMEMERG.getValueAt(x, 3).toString());
System.out.println("total smv = " + ttl_smv);
}
jLabel23.setText("" + ttl_smv);
}
答案 0 :(得分:0)
这不是错误,而是关于浮点数(浮点数,双精度)的精度。如果想要更准确的结果,请使用BigDecimal。更简单的解决方案是舍入(Math.round函数)和格式化(NumberFormat)。