将字符串转换为双精度 - JAVA
Convert String to Double - JAVA
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//9
txtTot.setText(jComboBox1.getSelectedItem().toString());
tot= Double.parseDouble(txtTot.getText());
CMB= (Double)jComboBox1.getSelectedItem();
Total2=tot+CMB;
txtTot.setText(Double.toString(Total2));
}
从 ComboBox
我设置 jtextfield
第二行我从 textfield
中取出 string
并尝试将其转换成double
.
错误如下:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double
at test.Test.jComboBox1ActionPerformed(Test.java:392)
at test.Test.access0(Test.java:18)
at test.Test.actionPerformed(Test.java:134)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1258)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:586)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:622)
尝试将 txtTot.getText () 打印到控制台并检查它是否采用正确的十进制格式。格式不正确可能是错误的原因。
对我来说,您似乎是 select 从组合框中输入一个值,然后尝试将它们相加以创建总计,每次 select 新的总计都会更新来自组合框的值。
这似乎对我有用,请注意,我已经删除了第一行,因为它干扰了现有的总数。
tot= Double.parseDouble(txtTot.getText());
CMB = Double.parseDouble((String) jComboBox1.getSelectedItem());
Total2=tot+CMB;
txtTot.setText(Double.toString(Total2));
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//9
txtTot.setText(jComboBox1.getSelectedItem().toString());
tot= Double.parseDouble(txtTot.getText());
CMB= (Double)jComboBox1.getSelectedItem();
Total2=tot+CMB;
txtTot.setText(Double.toString(Total2));
}
从 ComboBox
我设置 jtextfield
第二行我从 textfield
中取出 string
并尝试将其转换成double
.
错误如下:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Double
at test.Test.jComboBox1ActionPerformed(Test.java:392)
at test.Test.access0(Test.java:18)
at test.Test.actionPerformed(Test.java:134)
at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1258)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:586)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:622)
尝试将 txtTot.getText () 打印到控制台并检查它是否采用正确的十进制格式。格式不正确可能是错误的原因。
对我来说,您似乎是 select 从组合框中输入一个值,然后尝试将它们相加以创建总计,每次 select 新的总计都会更新来自组合框的值。
这似乎对我有用,请注意,我已经删除了第一行,因为它干扰了现有的总数。
tot= Double.parseDouble(txtTot.getText());
CMB = Double.parseDouble((String) jComboBox1.getSelectedItem());
Total2=tot+CMB;
txtTot.setText(Double.toString(Total2));