java - double 、逗号和点

标签 java android decimal

我正在制作一个 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/

相关文章:

java - 从 C 代码创建 JAVA 类

java - 为什么我的 EJB3,1 计时器在两个服务器实例上运行?

Java:字符串到 ImageIcon?

Android复数不起作用

java - Android显卡堆内存消耗巨大? - LibGDX

java - 通过线程在 TextView 中闪烁光标

Android WebView 和网络安全配置

python - Python 中 double 转换为十进制值 IEEE-754

decimal - 如何将大数转换为十进制?

Python:为什么数学模块中的函数接受 Decimal 对象作为参数?