从Android中的十进制数中删除分组分隔符
Posted
技术标签:
【中文标题】从Android中的十进制数中删除分组分隔符【英文标题】:Remove grouping separator from a decimal number in Android 【发布时间】:2015-01-05 20:42:40 【问题描述】:我有一个使用 DecimalFormat 格式化的十进制数。当它被格式化时,我使用 decimal.setGroupingUsed(true) 因为我需要。
现在我需要做相反的方法,即我有一个整数小数,像这样 3,200.95 分组,我想获得 3200.95(删除分组符号)。
我不想将“,”替换为“”,因为分组符号取决于国家/地区。有些国家是“。”和其他一些“,”所以我尝试通过将分组设置为 false 来使用 DecimalFormat:
decimal.setGroupingUsed(false)
但后来我不知道如何进行。有什么想法吗?
【问题讨论】:
那么当您调用DecimalFormat.parse()
时会发生什么?失败了吗?
您可以将,
或.
的first 字符替换为空字符串,假设它们是唯一允许的两个分隔符
@ianhanniballake 它将 3,200.95 解析为 3
为什么将数字存储为字符串?只需将其存储为数字,然后将其转换为字符串即可显示。
【参考方案1】:
您实际上希望 setGroupingUsed 为真,因为您希望这些符号出现在您正在解析的字符串中。您将使用 parse 方法将该字符串转换为数字。
【讨论】:
我的错误是我将 setGroupingUsed 设置为 false.... 将其设置为 true 然后将字符串解析为数字就像一个魅力!谢谢!以上是关于从Android中的十进制数中删除分组分隔符的主要内容,如果未能解决你的问题,请参考以下文章