如何使用java.util.Formatter将double格式化为千位分隔和2位小数

Pra*_*ndo 0 java

我想将double值格式化为具有的样式

  1. 货币格式符号
  2. 值四舍五入到小数点后两位
  3. 最终值千分隔符

特别是使用java.util.Formatter类

示例: -

double amount = 5896324555.59235328;
String finalAmount = "";
// Some coding
System.out.println("Amount is - " + finalAmount);
Run Code Online (Sandbox Code Playgroud)

应该像: - Amount is - $ 5,896,324,555.60

我搜索过,但是我无法理解Oracle文档或其他教程,我发现这个链接非常接近我的要求,但它不是用Java - 如何将双值格式化为字符串,后面有2个小数位和点成千上万的分隔符?

Voi*_*icu 8

如果你需要使用java.util.Formatter,这将工作:

double amount = 5896324555.59235328;
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb, Locale.US);
formatter.format("$ %(,.2f", amount);
System.out.println("Amount is - " + sb);
Run Code Online (Sandbox Code Playgroud)

扩展了Formatter页面上的示例代码.