Java String.format%d是否始终与BigInteger兼容?

Java String.format%d是否始终与BigInteger兼容?,java,biginteger,string.format,Java,Biginteger,String.format,使用%d及其变体,我们可以轻松格式化原始整数和long。但是,这些格式选项是否能与BigInteger完美配合 我做了一些测试,它们似乎运行良好,例如: public class Test6 { public static void main(final String args[]) { final java.math.BigInteger b = java.math.BigInteger.TEN.pow(999999); System.out.print

使用%d及其变体,我们可以轻松格式化原始整数和long。但是,这些格式选项是否能与BigInteger完美配合

我做了一些测试,它们似乎运行良好,例如:

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));
    }
}
但是有什么需要注意的地方吗?

有一个广泛的问题

我想唯一棘手的部分可能是区域设置敏感度(比如使用什么小数点),但这也适用于其他数字类型

以下转换可应用于BigInteger

“d”

要求将输出格式化为十进制整数。应用了定位算法

如果为“#”标志指定了FormatFlags,则将引发ConversionMismatchException