我的java代码在linux中正常工作,但在Windows上不能正常工作
我正在用JavaSwing做一个计算器,我有点问题。在linux(LinuxMint14Nadia)上,我的计算器工作正常,但在Windows8中使用时,它可以正确打开,但表示将输入字符串解析为双倍数字时出现问题我的java代码在linux中正常工作,但在Windows上不能正常工作,java,linux,swing,windows-8,calculator,Java,Linux,Swing,Windows 8,Calculator,我正在用JavaSwing做一个计算器,我有点问题。在linux(LinuxMint14Nadia)上,我的计算器工作正常,但在Windows8中使用时,它可以正确打开,但表示将输入字符串解析为双倍数字时出现问题 private double convertToNumber(String n) { //Double dbl = new Double(n); //return dbl; return Double.parseDouble(n); } 我也试过我注释掉的
private double convertToNumber(String n) {
//Double dbl = new Double(n);
//return dbl;
return Double.parseDouble(n);
}
我也试过我注释掉的部分,但也不起作用
错误消息表示行
返回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环境中,您解析的字符串可能不是您指定的格式:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。尝试打印您试图解析的数字,并检查您使用的格式是否正确。Windows 8下的“问题”到底是什么?Java的不同版本?编译错误(确切的消息是什么)?运行时错误?或者仅仅是错误的运行时行为?”错误消息说,行“return Double.parseDouble(n);“正在制造问题。”所以。。。。。。错误消息是什么?问题是在Winows中,我必须在小数点前使用“,”而不是“,”,但在linux中,这并不重要。是的,这就是我所怀疑的:)