我尝试在 Android 中使用 NumberFormatter 格式化数字。我使用下面的代码,它工作得很好:
NumberFormat formatter = new DecimalFormat("###,###");
String myFormattedString = formatter.format(123456);
但是,当我使用带有空格的模式时,如下所示:new DecimalFormat("###,# ##");
它会抛出 IllegalArgumentException
。我已阅读有关 NumberFormatter 和 DecimalFormatter 的文档,但没有发现有关模式中空格的信息。谁能解释一下为什么我不能使用空格或如何将它们添加为允许的字符。
提前致谢!!!
最佳答案
您不能在数字中间放置空格:这不是有效的格式。
如果你看the JavaDoc of DecimalFormat
,你会看到这个:
Prefix: any Unicode characters except \uFFFE, \uFFFF, and special characters Suffix: any Unicode characters except \uFFFE, \uFFFF, and special characters Number: Integer Exponentopt Integer . Fraction Exponentopt
如果不复制整个文档,Number
模式的任何组件都不会接受空格,因此尝试在中间添加空格将不起作用。您只能在前缀或后缀中使用空格。
关于java - DecimalFormat 模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6689621/