- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在启动时运行以下两行代码的应用程序:
DecimalFormat decim = new DecimalFormat("#.00");
return Double.parseDouble(decim.format(totalNumberOfCredits));
当我在我的美国手机上启动应用程序时,decim.format(totalNumberOfCredits)
的值为 .00
。
但是,在我的 Google Play Developer Console 中,我遇到了十几次崩溃,所有崩溃都如下所示:
Caused by: java.lang.NumberFormatException: Invalid double: ",00"
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.parseDouble(StringToReal.java:269)
at java.lang.Double.parseDouble(Double.java:295)
DecimalFormat 真的有可能在欧洲手机上生成逗号版本的小数吗?
最佳答案
Is it really possible that DecimalFormat is producing a comma version of the decimal on European phones?
是的,绝对是。就是这样meant to do ,毕竟:
Creates a DecimalFormat using the given pattern and the symbols for the default locale. This is a convenient way to obtain a DecimalFormat when internationalization is not the main concern.
To obtain standard formats for a given locale, use the factory methods on NumberFormat such as getNumberInstance. These factories will return the most appropriate sub-class of NumberFormat for a given locale.
请注意,这不是“欧洲版 Android”的问题 - 这只是在默认语言环境使用 ,
作为小数点分隔符的上下文中使用 Android 的问题。
如果你想使用特定语言环境的符号,但使用特定的模式,你可以使用:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.US);
DecimalFormat format = new DecimalFormat("#.00", symbols);
话虽如此,您一开始并不清楚您要做什么 - 为什么要格式化然后解析数字?当你真的不需要它们时,你几乎应该总是避免字符串转换。为什么不直接转换呢? (我们不知道 totalNumberOfCredits
是什么,这没有帮助。)
关于java - 欧洲版本的 Android 上的 NumberFormatException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646746/
我正在为我的小型众筹网站实现 paypal 自适应支付,我发现实际上 Paypal 并没有为非美国开发者提供选择。 https://developer.paypal.com/webapps/devel
这个奇怪的问题出现在 ios 8 版本中。这是示例代码: NSDate * date = [NSDate dateWithTimeIntervalSince1970:1414785600]; date
我正在寻找一个表格或启发式库,可以将扩展字符(如带有帽子的 o)转换为常规的 ascii o。 我希望这样做是为了搜索索引目的,因为大多数人不会在帽子上输入 o。 例如,我在搜索中输入“Cote”,但
自上周末英国在我的 Centos 5.8 KVM 虚拟机上更改为英国夏令时 (BST) 以来,我真的很难处理我的时钟。 这是一些命令输出.. [root@host ~]# TZ=Europe/
对于我们的俄罗斯租户,我们使用“欧洲/莫斯科”时区。但是我们比正确时间早了 1 小时。 欧洲/莫斯科是 UTC+3 小时。但是当我打印日期格式为欧洲/莫斯科时区时,会比正确时间提前 1 小时。 谢谢,
我正在尝试让 zipline 处理非美国的日内数据,我已将其加载到 Pandas DataFrame 中: BARC HSBA LLOY
我有一个我支持的旧版 VB6 应用程序,它使用 MapPointControl.ocx。客户说它不适用于 Mappoint 2009。 谷歌搜索后,似乎欧洲添加的 Mappoint 带有一个坏的 OC
如何使用 Joda-Time 解析日期字符串datetime 使用正确的时区和夏令时? 作为 scala 中的示例,我尝试解析字符串“2014-04-07 01:00:00.000”(没有时区信息)。
我已经按照那里的 wiki.guide http://wiki.openstreetmap.org/wiki/Nominatim/Installation 在我本地的 centOS 6.6 机器上安装
我正在尝试两种不同的方法来确定 NodaTime 的夏令时: now = SystemClock.Instance.GetCurrentInstant Dim nowInIsoUtc As Strin
为什么我无法解析以下日期? DateTime.parse("2015-03-29 02:35:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
我正在尝试将 UTC 时间戳转换为西类牙时区的时间戳。 >>> import datetime as dt >>> import pytz >>> today = dt.datetime.utcfro
我是一名优秀的程序员,十分优秀!