我正在编写一个格式化某些数字的方法的单元测试,当我使用DecimalFormat("¤#,##0")
时,它总是在单元测试中加前缀Â
。它不会在XML输出文件中显示数字写入的Â
,但它会在单元测试中显示。例如:
DecimalFormat decimalFormat = new DecimalFormat("¤#,##0");
String str = decimalFormat.format(5000);
XML输出文件将保存值$5,000
,但是当我调试或单元测试时str = "Â$5,000"
这是预期的行为还是有问题? DecimalFormat
文档(http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html)表示,
货币符号,替换为货币符号。如果加倍,则用国际货币符号代替。如果存在于模式中,则使用货币小数分隔符而不是小数分隔符。
据我所知,它可能是从默认语言环境中获取货币符号,但为什么会出现Â
?
如果预期行为很好,我只会使用替换方法,但如果没有预期,我想知道发生了什么。