解析字符串以浮动/加倍

时间:2019-05-09 11:31:27

标签: java database parsing double

我正在从jTable获取值并将其放入我的数据库(MySQL)中。在我的数据库表中,PAYMENT列是两倍。当我尝试从jTable中放入值时,出现了问题:

html{
    width:100%;
    height:100%;
}

我收到此异常:

  

线程“ AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“ 84,21834324”

如何将jTable中的此列作为DB表的两倍? 附注:我也尝试过float。

1 个答案:

答案 0 :(得分:0)

,替换为.

String payment = (String) jTable1.getValueAt(row, 2);
double pay = Double.parseDouble(payment.replace(",". "."));
........
pst.setDouble(3, zar);

编辑-如果要支持更复杂的值:

import java.util.Locale;
import java.text.*;

class Main {
  public static void main(String[] args) throws ParseException {
    String v1 = "84,21834324";
    String v2 = "1.234.567,89";

    NumberFormat format = NumberFormat.getInstance(Locale.ENGLISH);
    Number n1 = format.parse(v1);
    Number n2 = format.parse(v2);

    double d1 = n1.doubleValue();
    double d2 = n2.doubleValue();
  }
}

Lifted the edited solution from this question