0

ここに画像の説明を入力

なぜこれが起こるのか誰でも説明できますか?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);
}
4

1 に答える 1

0

これはエラーではなく、浮動小数点数 (float、double) の精度がすべてです。より正確な結果が必要な場合は、BigDecimalを使用してください。より簡単な解決策は、丸め(Math.round関数)とフォーマット(NumberFormat)です。

于 2013-10-18T05:40:54.927 に答える