直接来自此API


  setMaximumIntegerDigits
  
  公共无效setMaximumIntegerDigits(int newValue)
  
  设置a的整数部分中允许的最大位数
  数。用于格式化BigInteger和BigDecimal以外的数字
  对象,则使用newValue和309中的较低者。负输入值
  被替换为0。


在这种情况下,“使用newValue和309中的较低者”是什么意思?考虑到newValue是作为参数传递的int,309我不知道他们指的是什么。
任何线索将不胜感激。提前致谢。

最佳答案

如果您查看DecimalFormat的源代码,则会发现

// Upper limit on integer and fraction digits for a Java double
static final int DOUBLE_INTEGER_DIGITS  = 309;


在Java double中,它是可以表示的小数点前的位数,只要double的允许范围是[-1.79769313486232e308; 1.79769313486232e308](请注意指数)。

干杯,

10-08 06:51