Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "P35.00"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at OrderSystems.OrderSystem.jButton3MouseClicked(OrderSystem.java:419)
at OrderSystems.OrderSystem.access$900(OrderSystem.java:14)
at OrderSystems.OrderSystem$10.mouseClicked(OrderSystem.java:241)
点击jButton3后,我一直收到此错误。继承我的代码。
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {
double sub = Double.parseDouble(sub_field.getText());
double vat = Double.parseDouble(vat_field.getText());
double allTotal = (sub + vat);
String iTotal = String.format("%.2f", allTotal);
total_field.setText(iTotal);
}
这是sub_field和vat_field的代码
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
double ham = Double.parseDouble(ham_field.getText());
double burger = Double.parseDouble(burger_field.getText());
double bacon = Double.parseDouble(bacon_field.getText());
double bac = bacon * 5;
double harm = ham * 10;
double burg = burger *20;
double sub = harm + burg + bac;
String sub_com = String.format("P%.2f", sub);
sub_field.setText(sub_com);
}
答案 0 :(得分:0)
java.lang.NumberFormatException
非常明确:" P35.00"不是一个数字。
当解析Double.parseDouble
的参数不是它所要求的参数时,抛出此异常。
尝试从35.00移除P并查看它是否有效。
通常的做法是用try-catch块包围它以提示用户出错的地方。
答案 1 :(得分:0)
它崩溃了,因为你的输入字符串是" P35.00"并尝试将其解析成双精度数。删除' P'它应该工作,因为编译器不会将P解析为double。