计算行和时出现java错误
谁能解释一下为什么会这样?如果我得到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);
}
# 1 楼答案
这不是一个错误,而是关于浮点数(float,double)的精度。如果希望得到更准确的结果,请使用BigDecimal。更简单的解决方案是舍入(Math.round函数)和格式化(NumberFormat)