java - 格式化带前导符号的数字

标签 java formatting numbers currency

如何在 Java 中格式化带有前导符号的数字?

前导-可以正确显示负数,但是+明显不显示正数。

如何在 Java 中做到这一点?我当前的货币格式字符串是 \#\#\#,\#\#\#,\#\#\#,\#\#\#,\#\#0.00 (是的,我需要格式化正/负货币值)

最佳答案

使用负子模式,如 javadoc for DecimalFormat 中所述.

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

关于java - 格式化带前导符号的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243316/

相关文章:

javascript - 以欧洲格式格式化数字,带两位小数

java - DecimalFormat 变量组大小

php 2000 1000 到 9999 之间的唯一随机数

java - Java/Spring 中与 Restful API 交互的工具

java - 为什么在java中有不同的处理文件I/O的方法?

c++ - 程序不工作(前导零)

javascript - "+var === +var"在内部如何工作以验证 var 是否为数字?

javascript - 为什么 Date.now() | 0 与 Date.now() 不同

java - Vaadin 更改文本字段标签颜色

java - Facebook 图形 API。应用程序通知 : A client gets notification, 但服务器在响应中收到错误:不支持的发布请求