Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Java

Idiom #173 Format a number with grouped thousands

Number will be formatted with a comma separator between every group of thousands.

String.format("%,d", 1000000);
import static java.lang.System.out;
import java.math.BigDecimal;
out.printf("%,f", new BigDecimal("1234.5"));
import static java.lang.System.out;
import java.math.BigInteger;
out.printf("%,d", new BigInteger("1234"));
import static java.text.NumberFormat.getNumberInstance;
import java.text.DecimalFormat;
DecimalFormat f = (DecimalFormat) getNumberInstance();
f.setGroupingSize(3);
String s = f.format(1_000);
import java.text.DecimalFormat;
import java.text.NumberFormat;
NumberFormat f = new DecimalFormat("#,###");
String s = f.format(1_234);

Note, this will truncate any fractional portion—e.g., "1234.5" to "1,234".
import static java.lang.System.out;
out.printf("%,f", 1_234.5);
#define _POSIX_C_SOURCE 200809L
#include <locale.h>
#include <stdio.h>
setlocale(LC_ALL, "");
printf("%'d\n", 1000);

New implementation...
cup