DecimalFormat返回 用符号代替-符号,如果为其赋予的值为负。

我正在将ATOM与SCRIPT软件包和JDK12.0.2一起使用。

我可以用几乎任何其他符号替换“ - ”符号,DecimalFormat将提供正确的输出。 这就是让这个问题困扰我的原因。 我试图研究语言环境问题,但未能解决问题。

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

#1楼 票数:0 已采纳

尝试设置java.util.Locale

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

  ask by Waza translate from so

未解决问题?本站智能推荐:

1回复

DecimalFormat返回“? “”代替负号“-”

DecimalFormat返回? 用符号代替-符号,如果为其赋予的值为负。 我正在将ATOM与SCRIPT软件包和JDK12.0.2一起使用。 我可以用几乎任何其他符号替换“ - ”符号,DecimalFormat将提供正确的输出。 这就是让这个问题困扰我的原因。 我试图研究语
2回复

DecimalFormat没有返回正确的数字

这是进行此特定分配的提示:令x为任何实数。 编写一个使用Bisection方法计算x的平方根的程序( https://docs.python.org/3/library/functions.html#format )。 请注意,您应该通过自然选择a和b来将问题简化为二等分法(即,用户不需要提
1回复

DecimalFormat返回-0.00

这一段代码 回报 “-0.00” 我真的希望(并希望)“ 0.00” 我知道我可以通过编写DecimalFormat的子类来解决此问题,但是有没有办法使用标准DecimalFormat做到这一点? 编辑:我只不会更改结果为“ -0.00”的特定情况。 所有其他负
3回复

DecimalFormat返回错误的结果

有人知道我在这里做错了吗? 我有一个浮点数,可以说是0.04。 格式化后,将变为0.03。 显然,输出结果已经比输入结果低0.01。 这是我的代码: 提前致谢。
1回复

Decimalformat的格式化方法返回数字而不是零

我正在使用DecimalFormat's format方法格式化带有6个小数点的float值。 所以我在用 我想打印52.281500 。 但是它打印52.281502 。 如何获得52.281500 ?
3回复

DecimalFormat和Hashmap

所以我有一个动态数据,它是双精度数据,我试图将其添加到HashMap中,然后使用Gson将其转换为Json 。 有时数据可以是0.00或0.0,那么我只想向HashMap添加0。 为此,我使用DecimalFormat根据需要设置数据格式(如上所述),但是当我这样做时,它将值作为JSON中的
3回复

十进制除法

如果我输入 0.01,它会给我 1 便士,但如果我输入 15.01,它会给我 1 十 1 五,但没有一便士。 我应该如何解决这个问题?
3回复

Decimalformat问题

嘿,我正在使用以下代码来格式化我的数字,使其具有两位小数 当我打印出结果时,它给出的答案只有一位小数。 请有人帮我阻止那件事。
3回复

DecimalFormat模式

"###,###,###,###,##0.00" ,这种模式的目的究竟是什么? 我认为它有两个目的 分组号码,即千分隔符号 在十进制之后附加两个零,如果缺少十进制,则转换为23到23.00 但为什么在十进制之前有"0"而不是"#" ? 这零的目的究竟是什么? 谢
2回复

DecimalFormat舍入

这是小代码来说明我所看到的 打印: 我要打印 我需要做什么?