我正在从jTable获取值并将其放入我的数据库(MySQL)中。在我的数据库表中,PAYMENT列是两倍。当我尝试从jTable中放入值时,出现了问题:
html{
width:100%;
height:100%;
}
我收到此异常:
线程“ AWT-EventQueue-0”中的异常java.lang.NumberFormatException:对于输入字符串:“ 84,21834324”
如何将jTable中的此列作为DB表的两倍? 附注:我也尝试过float。
答案 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();
}
}