DecimalFormat使用土耳其语格式

时间:2014-11-26 14:39:52

标签: android number-formatting

我的格式是

DecimalFormat decimalformat = new DecimalFormat("0.00##");

但我的用户是土耳其语,俄语等。他们不同的本地人。他们使用我的应用。给出错误看起来像这样 土耳其语," 10,00"

我的错误;

java.lang.NumberFormatException:无效的双重:" 10,00"

2 个答案:

答案 0 :(得分:0)

没有足够的信息如何解析输入,但我建议你这样做:

static String parseInput(String input) throws ParseException {

    DecimalFormat dFormat = new DecimalFormat("0.00##");
    Number number         = dFormat.parse(input);
    // double numAsDouble = number.doubleValue();

    return number.toString();
}

不太好,但您也可以尝试通过替换'来解析输入,':

static String parseInputByReplace(String input) throws ParseException {
    DecimalFormat dFormat = new DecimalFormat("0.00##");
    double number = Double.parseDouble(input.replace(',', '.'));
    return dFormat.format(number);
}

答案 1 :(得分:0)

您应该使用用户的文化进行解析。 decimal.Parse会这样做。如果你使用自己的文化意味着你明确地告诉"解析器只使用该格式。