我如何使用字符串。格式(格式,args)格式双像下面?

2354548.235 -> 2,354,548.23


当前回答

String.format("%4.3f" , x) ;

这意味着我们在ans中需要总共4位数字,其中3位应该在decimal之后。 f是double的格式说明符。X表示我们要求的变量。 为我工作过……

其他回答

使用DecimalFormat

 NumberFormat nf = DecimalFormat.getInstance(Locale.ENGLISH);
 DecimalFormat decimalFormatter = (DecimalFormat) nf;
 decimalFormatter.applyPattern("#,###,###.##");
 String fString = decimalFormatter.format(myDouble);
 System.out.println(fString);
String.format("%4.3f" , x) ;

这意味着我们在ans中需要总共4位数字,其中3位应该在decimal之后。 f是double的格式说明符。X表示我们要求的变量。 为我工作过……

如果你想用手动设置的符号格式化它,使用这个:

DecimalFormatSymbols decimalFormatSymbols = new DecimalFormatSymbols();
decimalFormatSymbols.setDecimalSeparator('.');
decimalFormatSymbols.setGroupingSeparator(',');
DecimalFormat decimalFormat = new DecimalFormat("#,##0.00", decimalFormatSymbols);
System.out.println(decimalFormat.format(1237516.2548)); //1,237,516.25

但是,基于区域设置的格式是首选的。

从该链接提取的代码;

Double amount = new Double(345987.246);
NumberFormat numberFormatter;
String amountOut;

numberFormatter = NumberFormat.getNumberInstance(currentLocale);
amountOut = numberFormatter.format(amount);
System.out.println(amountOut + " " + 
                   currentLocale.toString());

这个例子的输出显示了相同数字的格式如何随着Locale的不同而变化:

345 987,246  fr_FR
345.987,246  de_DE
345,987.246  en_US
String.format("%1$,.2f", myDouble);

字符串。Format自动使用默认区域设置。