標題說明了一切。出於顯而易見的原因,我得到了NumberFormatException。我想使用逗號而不是點作爲小數點分隔符,因爲我是北歐人,所以我的JTextFields中輸入了double值。如何使JTextField接受帶有逗號作爲分隔符的double值?
public void actionPerformed(ActionEvent event2) {
NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN);
double firstW = Double.parseDouble(firstWeight.getText());
double secondW = Double.parseDouble(secondWeight.getText());
double outcome = (firstW - secondW);
nf.setMaximumFractionDigits(2);
JLabel result = new JLabel();
result.setText(nf.format(outcome) +" kg");
add(result);
setVisible(true);
}
除非我錯過了什麼,我不認爲確實是在用戶輸入文本的任何分析JTextField類也看不到。我特別不想想JTextField會嘗試將文本轉換爲數字,所以你必須在其他類中使用一個方法,請說明你在做什麼轉換,並可能顯示應該產生'double'值的代碼。 – ajb
爲問題添加了一些代碼。然而,結果以正確的德文格式顯示,並帶有逗號。 –
[用逗號作爲小數點分隔符的最佳方式parseDouble?](http://stackoverflow.com/questions/4323599/best-way-to-parsedouble-with-comma-as-decimal-separator) – MikeTheLiar