Java DecimalFormat返回“&引用;而不是&引用;对于负双输入

Java DecimalFormat返回“&引用;而不是&引用;对于负双输入,java,Java,当给定的值为负值时,十进制格式返回?符号代替-符号 我将ATOM与脚本包和JDK12.0.2一起使用 我可以用几乎任何其他符号替换“-”符号,十进制格式将给出正确的输出。这就是我对这个问题感到困惑的原因。我试图调查区域设置问题,但未能解决该问题 double nTest = -20.20; System.out.println("simtest " + nTest + "C"); private static DecimalFormat desFor = new DecimalFormat("

当给定的值为负值时,十进制格式返回符号代替-符号

我将ATOM与脚本包和JDK12.0.2一起使用

我可以用几乎任何其他符号替换“-”符号,十进制格式将给出正确的输出。这就是我对这个问题感到困惑的原因。我试图调查区域设置问题,但未能解决该问题

double nTest = -20.20;
System.out.println("simtest " + nTest + "C");

private static DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0");
System.out.println("simtest " + desFor.format(-20.20) + "C");
System.out.println("simtest " + desFor.format(21.45) + "C");

private static DecimalFormat desForAny = new DecimalFormat("#0.0;*#0.0");
System.out.println("simtest " + desForAny.format(-20.20) + "C");
结果

simtest-20.2C

simtest?20,2C尝试设置
java.util.Locale

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH);
DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0", symbols);

尝试设置
java.util.Locale

DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH);
DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0", symbols);

这可能是终端中的编码问题吗?这肯定是
-
,而不是某些unicode符号吗?这可能是终端中的编码问题吗?这肯定是
-
,而不是某些unicode符号吗?谢谢,这很有效。我最初遇到了符号错误的问题。我对编程非常陌生,但我想我可能需要导入DFsymbols函数。我设法从oracle文档中找到了答案,这是不言自明的。谢谢,这很有效。我最初遇到了符号错误的问题。我对编程非常陌生,但我想我可能需要导入DFsymbols函数。我设法从oracle文档中找到了答案,这是不言自明的。