有一个简单的方法来读取回来,如果设置的语言使用十进制逗号或小数点?小数点或小数逗号的Android
11
A
回答
14
,我相信我有办法。我从来没有用过这个,你要知道,但肯定应该让你关闭,如果不是有:
NumberFormat nf = NumberFormat.getInstance();
if (nf instanceof DecimalFormat) {
DecimalFormatSymbols sym = ((DecimalFormat) nf).getDecimalFormatSymbols();
char decSeparator = sym.getDecimalSeparator();
}
文档:
NumberFormat
,DecimalFormat
,DecimalFormatSymbols
根据DecimalFormat的文档,显然调用NumberFormat.getInstance()是安全的,但可能会返回DecimalFormat以外的子类(我看到的另一个选项是ChoiceFormat)。我相信大多数情况下它应该是一个DecimalFormat,然后你就可以比较decSeparator
针对,
和.
看到它正在使用的格式。
-1
1
我曾尝试这一点,它工作得很好......
String osVersion = System.getProperty("os.version");
String PhoneModel = android.os.Build.MODEL;
String locale = this.getResources().getConfiguration().locale.getDisplayCountry();
char decSeparator = '*';
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
decSeparator = dfs.getDecimalSeparator();
String androidVersion = android.os.Build.VERSION.RELEASE;
String prologue = String.format("OS verson = %s PhoneModel = %s locale = %s DecimalFormatSymbol = [%c] androidVersion = %s ",
osVersion ,PhoneModel, locale, decSeparator,androidVersion);
1
你可以使用:
Currency currency = Currency.getInstance(device_locale);
不是使用currency.getSymbol()
的象征。对于默认设备语言环境,您可以使用:
@TargetApi(Build.VERSION_CODES.N)
public static Locale getCurrentLocale(Context c) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
return c.getResources().getConfiguration().getLocales().get(0);
} else {
//noinspection deprecation
return c.getResources().getConfiguration().locale;
}
}
相关问题
- 1. 以逗号掩盖小数点精度
- 2. PHP逗号和小数点格式
- 3. NSNumberFormatter在小数点后不加逗号
- 4. 汇总节点转换小数逗号
- 5. NSNumberFormatter和逗号小数点分隔符
- 6. 使用管道打印/角逗号或小数点打点
- 7. 字符串到浮点转换,支持小数点和小数点逗号
- 8. 当我用逗号或点分隔小数时扫描加倍
- 9. 替换逗号小数点的数据帧列,使其数字
- 10. Objective c格式浮点数,逗号和小数点后两位
- 11. 如何用逗号代替小数点解析浮点数?
- 12. jqGrid:以逗号作为小数点的数字格式
- 13. Java格式带逗号和2位小数点的BigDecimal数字
- 14. Gettext翻译用数字中的逗号代替小数点
- 15. 比较逗号和小数点分隔点(点)
- 16. XmlSerializer用逗号(,)反序列化十进制小数点符号
- 17. 格式 - 将逗号,小数点后两位小数加上vb.net excel interop
- 18. 熊猫(Python)to_clipboard用逗号作为小数点参数
- 19. 正则表达式可选逗号分隔数与小数点
- 20. C#ASPX十进制千与逗号和小数点用点
- 21. 将逗号更改为点,在php中使用小数点
- 22. BIRT - 更改小数点分隔符 - 句点v/s逗号
- 23. 小数没有小数和逗号格式化值
- 24. 小数管在角2 - 只有逗号,没有小数位
- 25. 逗号插入无限小数
- 26. 如何将逗号和逗号作为浮点数的有效小数点分隔符?
- 27. 用TextField中的小数点分隔符替换逗号
- 28. 自动填充文本框中的逗号和小数点
- 29. 指定号码()小数点
- 30. Java和小数点E号
感谢这个伟大工程 – patrick
我需要投'nf'到''DecimalFormat'((DecimalFormat的)NF).getDecimalFormatSymbols()',非常感谢。 –
谢谢@SelçukChan,我编辑了答案,包括必要的演员! – kcoppock