Как я могу использовать String.format(format String, X) для форматирования двойного символа, например, следующего:
2354548.235 → 2 354 548,23
Спасибо!
Как я могу использовать String.format(format String, X) для форматирования двойного символа, например, следующего:
2354548.235 → 2 354 548,23
Спасибо!
String.format("%1$,.2f", myDouble);
String.format
автоматически использует локаль по умолчанию.
String.format("%4.3f" , x) ;
Это означает, что нам нужно всего 4 цифры в ans, из которых 3 должны быть после десятичного. И 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());
Результат из этого примера показывает, как формат одного и того же номера зависит от языка:
345 987,246 fr_FR
345.987,246 de_DE
345,987.246 en_US
public class MainClass {
public static void main(String args[]) {
System.out.printf("%d %(d %+d %05d\n", 3, -3, 3, 3);
System.out.printf("Default floating-point format: %f\n", 1234567.123);
System.out.printf("Floating-point with commas: %,f\n", 1234567.123);
System.out.printf("Negative floating-point default: %,f\n", -1234567.123);
System.out.printf("Negative floating-point option: %,(f\n", -1234567.123);
System.out.printf("Line-up positive and negative values:\n");
System.out.printf("% ,.2f\n% ,.2f\n", 1234567.123, -1234567.123);
}
}
И распечатайте:
3 (3) +3 00003
Формат по плавающей запятой по умолчанию: 1234567,123000
Плавающая точка с запятыми: 1.234.567,123000
Отрицательное значение с плавающей запятой по умолчанию: -1.234.567,123000
Отрицательная опция с плавающей запятой: (1.234.567,123000)Линейные положительные и отрицательные значения:
1.234.567,12
-1.234.567,12