java.math.BigDecimal 无法转换为 java.lang.String?

java.math.BigDecimal cannot be cast to java.lang.String?

我正在尝试添加数据类型(货币)的行值,其中在 Jtable 中自动形成小数点后的零,如下所示 55.0000 28.0000 60.0000 20.0000 50.0000

运行时日志显示此错误

java.math.BigDecimal cannot be cast to java.lang.String

这是从 Jtable 添加行的代码

        double total = 0;
        for(int i = 0; i<table.getRowCount(); i++){
            double amount = Double.parseDouble((String) table.getValueAt(1, 6) );
            total+=amount;
        }
        totalSum.setText(String.valueOf(total));

*

有什么方法可以添加float类型的值吗??

改变

double amount = Double.parseDouble((String) table.getValueAt(1, 6) );

double amount = table.getValueAt(1, 6).doubleValue();

无需将 BigDecimal 转换为 String 即可生成 double.

尝试这样的事情:

BigDecimal total = BigDecimal.ZERO;
for (int i = 0; i < table.getRowCount(); ++i) {
    final BigDecimal amount = (BigDecimal)table.getValueAt(i, 6);
    total = total.add(amount);
}
totalSum.setText(total.toString());