双打,逗号和圆点

Mik*_*koP 18 java android decimal

我正在制作一个Android Java程序,它从用户那里获得了双倍的价值.如果我在计算机上运行该程序,它可以很好地工作,因为我的计算机的区域设置EN_UK.但是当我在带有FI_FI语言环境的手机上运行时,它将无法正常工作.我知道原因:在英国人使用点作为十进制分隔符,但在芬兰这里的十进制分隔符是逗号.

DecimalFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doubleNumber));
Run Code Online (Sandbox Code Playgroud)

当我使用逗号时,它说java.lang.NumberFormatException: Invalid double: "1234,5".

如何使它们兼具逗号和点?

Jer*_*ome 32

使用DecimalFormat的其他构造函数之一:

new DecimalFormat("#.#", new DecimalFormatSymbols(Locale.US))
Run Code Online (Sandbox Code Playgroud)

然后尝试使用两个分隔符解析它.