Android双数字格式问题

时间:2016-02-11 13:11:32

标签: java android

我有关于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));
}

2 个答案:

答案 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);