【发布时间】:2016-06-26 19:17:38
【问题描述】:
我正在开发使用这种方法的 Android 应用:
public static String currencyFormat(BigDecimal n) {
return NumberFormat.getCurrencyInstance().format(n);
}
根据区域设置货币格式化数字。
如何从货币格式恢复,例如35 美元,到 35 美元?请注意,我不能只删除第一个字符,因为不同的语言环境具有不同的货币名称长度。
【问题讨论】:
-
您需要单独存储货币符号。要么,要么使用字符串作为输入(我不推荐)。您不能使用 BigDecimal 作为您的货币输入,因为这只会为您提供附加到货币金额的 unicode 值。
-
好吧,我提供的这段代码运行良好,但确实我不能使用 BigDecimal 进行转换,因为字符串中会包含货币字符。不过我有个主意。有没有办法获取代表您所在地区货币的字符串?然后我可以做 string.replaceAll(currency, "");