我的java代码在linux中正常工作但在Windows上不能正常工作

时间:2013-04-14 16:20:33

标签: java linux swing windows-8 calculator

我使用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));
}

1 个答案:

答案 0 :(得分:2)

它可能来自您环境中的其他Locale

在Windows环境中,您解析的String可能不是您指定的格式:#.##########。尝试打印您要解析的数字,并检查您使用的格式是否正确。