[英]How to format a double into thousand separated and 2 decimals using java.util.Formatter
我想将double值格式化为具有
专门使用java.util.Formatter类
例子:-
double amount = 5896324555.59235328;
String finalAmount = "";
// Some coding
System.out.println("Amount is - " + finalAmount);
应为:- Amount is - $ 5,896,324,555.60
我进行了搜索,但是我不太了解Oracle文档或其他教程,因此我发现此链接非常接近我的要求,但不是在Java中- 如何将双精度值格式化为点和后的小数点后两位小数的字符串有数千个分隔符?
如果您需要使用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);
在Formatter
页面上的示例代码上进行了扩展。
我强烈建议不要使用java.text.NumberFormat
,它带有内置的货币格式化程序,而不是使用java.util.Formatter
:
double amount = 5896324555.59235328;
NumberFormat formatter = NumberFormat.getCurrencyInstance();
String finalAmount = formatter.format(amount);
System.out.println("Amount is - " + finalAmount);
// prints: Amount is - $5,896,324,555.59
您可以使用printf
和类似的格式规范
double amount = 5896324555.59235328;
System.out.printf("Amount is - $%,.2f", amount);
输出是
Amount is - $5,896,324,555.59
要凑整到60美分,您需要59.5
美分(或更多)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.