setMinimumFractionDigits(..) 详细信息。 NumberFormat 类

Posted

技术标签:

【中文标题】setMinimumFractionDigits(..) 详细信息。 NumberFormat 类【英文标题】:setMinimumFractionDigits(..) detail. NumberFormat class 【发布时间】:2013-06-07 13:38:52 【问题描述】:

直接来自这个java api

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)

设置小数部分允许的最小位数 数字。 minimumFractionDigits 必须

maximumIntegerDigits 与上述声明中指定的mimimumFractionDigits 有什么关系? (正是以下位:“那么 maximumIntegerDigits 也将设置为新值

【问题讨论】:

you can see here, for example 【参考方案1】:

这只是意味着如果您将最小值设置为大于最大值的值,则最大值将设置为最小值。这样就不会破坏任何约束。最小值大于最大值会很奇怪。

例子:

num.setMaximumFractionDigits(5);
num.setMinimumFractionDigits(8);
// the maximum is automatically set to 8

您指定的行实际上是 javadoc 错字,它们的意思是 maximiumFractionDigit,来自 OpenJDK

public void setMinimumFractionDigits(int newValue) 
    minimumFractionDigits = Math.max(0,newValue);
    if (maximumFractionDigits < minimumFractionDigits) 
        maximumFractionDigits = minimumFractionDigits;
    

【讨论】:

他们最后指的是maximumIntegerDigits..而不是maximumFractionDigits。那不是逻辑。 @Rollerball:检查我的编辑,您在 javadoc 中发现了一个错字,代码本身设置了 maximumFractionDigit。

以上是关于setMinimumFractionDigits(..) 详细信息。 NumberFormat 类的主要内容,如果未能解决你的问题,请参考以下文章

NumberFormat 不喜欢超过 340 位小数

我想在使用 DecimalFormat 时保留尾随零

java计算百分比的代码怎么写?