澄清DecimalFormat.setMaximumIntegerDigits()方法参数

时间:2013-08-26 13:12:47

标签: java formatting decimalformat

直接来自API

  

setMaximumIntegerDigits

     

public void setMaximumIntegerDigits(int newValue)

     

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

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

1 个答案:

答案 0 :(得分:1)

如果查看DecimalFormat的源代码,您会找到

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

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

干杯,