我正在制作一个 Android Java 程序,它从用户那里获取 double 值。如果我在计算机上运行该程序,由于我计算机的语言环境 EN_UK,它运行良好。但是当我用 FI_FI 语言环境在我的手机上运行它时,它就不起作用了。我知道原因:在英国,人们使用点作为小数分隔符,但在芬兰,小数分隔符是逗号。
DecimalFormat df = new DecimalFormat("#.#");
Double returnValue = Double.valueOf(df.format(doubleNumber));
当我使用逗号时,它会显示 java.lang.NumberFormatException: Invalid double: "1234,5"
。
我怎样才能让它同时使用它们,逗号和点?
最佳答案
使用 DecimalFormat 的其他构造函数之一:
new DecimalFormat("#.#", new DecimalFormatSymbols(Locale.US))
然后尝试使用两个分隔符解析它。
关于java - double 、逗号和点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10584948/