
[英]DecimalFormat returns weird Character when formatting negative double
[英]DecimalFormat returns “ ? ” instead of “ - ” for negative Double input
DecimalFormat 返回? 符号代替-符号,当赋予它的值是负数时。
我将 ATOM 与 SCRIPT package 和 JDK12.0.2 一起使用。
我可以用几乎任何其他符号替换“ - ”符号,DecimalFormat 将给出正确的 output。 这就是让我对这个问题感到困惑的原因。 我试图调查语言环境问题,但未能解决问题。
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 <=== expected -20,2C
simtest 21,4C
simtest *20,2C
尝试设置java.util.Locale
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH);
DecimalFormat desFor = new DecimalFormat("#0.0;-#0.0", symbols);
问题未解决?试试以下方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.