Java 十进制格式(“xA4”、“0”)前缀&“xC2”;单元测试中
我正在为一种格式化一些数字的方法编写单元测试,当我在单元测试中使用Java 十进制格式(“xA4”、“0”)前缀&“xC2”;单元测试中,java,currency,number-formatting,decimalformat,Java,Currency,Number Formatting,Decimalformat,我正在为一种格式化一些数字的方法编写单元测试,当我在单元测试中使用DecimalFormat(“·#,##0”)时,它总是以为前缀。它不会在写入数字的XML输出文件中显示,但会在单元测试中显示。例如: DecimalFormat decimalFormat = new DecimalFormat("¤#,##0"); String str = decimalFormat.format(5000); XML输出文件将保存值$5000,但当我调试或单元测试str=“of$5000” 这是预期的行为
DecimalFormat(“·#,##0”)
时,它总是以为前缀。它不会在写入数字的XML输出文件中显示
,但会在单元测试中显示。例如:
DecimalFormat decimalFormat = new DecimalFormat("¤#,##0");
String str = decimalFormat.format(5000);
XML输出文件将保存值$5000
,但当我调试或单元测试str=“of$5000”
这是预期的行为还是出了什么问题?DecimalFormat
文档()中说
货币符号,替换为货币符号。如果翻倍,则替换为国际货币符号。如果在模式中存在,则使用货币小数分隔符而不是小数分隔符
我知道它可能是从默认语言环境中获取货币符号,但是为什么会显示
如果预期效果良好,我将使用replace方法,但如果预期效果不好,我想知道发生了什么。它在哪里显示错误?这很可能是一个终端编码问题。它可能类似于解释的BOM或任何其他不可打印的字符吗?在String str=decimalFormat.format(5000)之后的下一行代码上代码>字符串作为值添加到xml对象中的特定元素。当我断言该元素的值时,我得到了$5000,但正如我所说,当查看完整构建的XML时,值是$5000。它在哪里显示错误?这很可能是一个终端编码问题。它可能类似于解释的BOM或任何其他不可打印的字符吗?在String str=decimalFormat.format(5000)之后的下一行代码上代码>字符串作为值添加到xml对象中的特定元素。当我断言该元素的值时,我得到了$5000,但正如我所说,当查看完整构建的XML时,值是$5000。