我有关于android格式化的问题,我有以下代码,格式化一个双数只有2个数字精度,当我更改它的例如阿拉伯语App崩溃时,Android设备语言是英语的代码工作得很好在最后一行。当我在两种情况下调试(En - 阿拉伯语)时,我发现传递给函数的double值是相同的ex:1.2040
public static Double getRoundedStringValueTo2Precisions(double value){
// TODO: check how we can parse the values where the decimal separator is comma()
DecimalFormat df = new DecimalFormat("#0.##");
return Double.valueOf(df.format(value));
}
答案 0 :(得分:0)
尝试使用x = Math.round(x * 100.00) / 100.00
并且不要解析
double y = Double.parseDouble(z.getText().toString());
答案 1 :(得分:0)
我修复了问题,现在它在我更改语言设备时有效。这是修复
NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);
DecimalFormat df = (DecimalFormat)nf;
df.applyPattern("#0.##");
String ss = df.format(value);
return Double.valueOf(ss);