Android-java.lang.RuntimeException:无效的双引号;0,64“;
我试图在这里做一些基本的数学运算,但我得到了以下错误:Android-java.lang.RuntimeException:无效的双引号;0,64“;,java,android,android-studio,Java,Android,Android Studio,我试图在这里做一些基本的数学运算,但我得到了以下错误: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.welldana.christian.welldanaapp/com.welldana.christian.welldanaapp.GUI.ResultActivity}: java.lang.NumberFormatException: Invalid double: "0,64" 计算代码: p
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.welldana.christian.welldanaapp/com.welldana.christian.welldanaapp.GUI.ResultActivity}: java.lang.NumberFormatException: Invalid double: "0,64"
计算代码:
public double CalculateFilterAreaRequirement(){
CalculateTurnoverPerHour();
double tmp = turnoverPerHour/turnoverRate;
filterAreaRequirement = Double.parseDouble(new DecimalFormat("#.##").format(tmp));
return filterAreaRequirement;
}
我不知道为什么它将
替换为,
敏感。您的语言环境可能使用,
作为十进制分隔符。尝试强制使用的区域设置。例如,Locale.US
DecimalFormat
使用适合您的Locale
的十进制格式,而Double.parseDouble()
不使用。您的默认区域设置有,
作为小数分隔符
您可以指定要使用的显式区域设置,但格式化和解析回值没有多大意义。如果需要截断为两个小数,只需使用
Math.floor(tmp * 100) / 100
您的设备设置为什么本地化?许多欧洲语言都希望小数点分隔符使用
,
而不是
,但我如何告诉它使用
而不是,
?完美的解决方案。按计划工作。非常感谢。