使用前导符号设置数字的格式
2022-08-31 20:56:15
如何在Java中格式化带有前导符号的数字?
负数以前导正确显示,但显然正数不以 开头显示。-
+
如何在Java中做到这一点?我当前的货币格式字符串是(是的,我需要格式化正/负货币值)\#\#\#,\#\#\#,\#\#\#,\#\#\#,\#\#0.00
如何在Java中格式化带有前导符号的数字?
负数以前导正确显示,但显然正数不以 开头显示。-
+
如何在Java中做到这一点?我当前的货币格式字符串是(是的,我需要格式化正/负货币值)\#\#\#,\#\#\#,\#\#\#,\#\#\#,\#\#0.00
使用负子模式,如 DecimalFormat 的 javadoc 中所述。
DecimalFormat fmt = new DecimalFormat("+#,##0.00;-#");
System.out.println(fmt.format(98787654.897));
System.out.println(fmt.format(-98787654.897));
产生(在我的法语区域设置中,空格是分组分隔符,逗号是小数分隔符):
+98 787 654,90
-98 787 654,90
用于格式化程序的 API 提供了一个示例:
Formatter formatter = new Formatter();
System.out.println(formatter.format(Locale.FRANCE, "e = %+10.4f", Math.E));
//e = +2,7183