Java Swing を使用して電卓を作成していますが、少し問題があります。Linux (linux mint 14 nadia) では電卓は正常に動作しますが、Windows 8 で使用すると正しく開きますが、入力文字列を解析して倍数にするときに問題があると表示されます。
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));
}