我正在使用Java Swing製作計算器,而且我遇到了一些問題。當在Linux上(Linux mint 14 nadia)我的計算器能正常工作,但在Windows 8中使用時它可以正確打開,但表示在將我的輸入字符串解析爲雙精度數時出現問題。我的java代碼可以在linux下正常工作,但不能在Windows上運行
private double convertToNumber(String n) {
//Double dbl = new Double(n);
//return dbl;
return Double.parseDouble(n);
}
我試過了我也評論過的部分,但那也行不通。
錯誤消息說該行return Double.parseDouble(n);
正在創建問題,但爲什麼這不是在Linux中的問題?
我會讓代碼一點點,我認爲可能會導致該問題如下:
DecimalFormat numberFormat = new DecimalFormat("#.##########"); //Instance variable
//Use: x.getTotalString
//Post: getTotalString is the final product (end result)
public String getTotalString(){
formattedValue = numberFormat.format(total);
formattedValue = formattedValue.replaceAll("^-(?=0(.0*)?$)", "");
return "" + Double.parseDouble(formattedValue);
//return "" + Double.parseDouble(numberFormat.format(total));
}
什麼**確實**是Windows 8下的「問題」?不同版本的Java?編譯錯誤(確切的消息是什麼)?運行時錯誤?或只是不正確的運行時行爲「 –
」錯誤消息說,行「return Double.parseDouble(n);」正在創建問題。「所以......錯誤信息是什麼? –