With String.format %d and its variants, we can easily format primitive integers and longs. However, does these formatting options work perfectly with BigInteger?
I've made some tests, and they seem to work well, for example:
public class Test6 {
public static void main(final String args[]) {
final java.math.BigInteger b = java.math.BigInteger.TEN.pow(999999);
System.out.println(String.format("%,d", b));
}
}
But are there any gotchas to watch out for?
%d: Specifies Decimal integer. %c: Specifies character. %T or %t: Specifies Time and date. %n: Inserts newline character.
%s specifically is used to perform concatenation of strings together. It allows us to format a value inside a string.
There is an extensive section in the documentation for format strings.
I suppose the only tricky part could be locale-sensitivity (like what decimal point to use), but that applies for the other numeric types, too.
The following conversions may be applied to BigInteger.
'd'
Requires the output to be formatted as a decimal integer. The localization algorithm is applied.
If the '#' flag is given FormatFlagsConversionMismatchException will be thrown.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With