Java 无最大分数位数的NumberFormat

Java 无最大分数位数的NumberFormat,java,number-formatting,Java,Number Formatting,有没有办法创建一个没有最大小数位数的NumberFormat实例?一个显而易见的解决办法是 NumberFormat format = NumberFormat.getNumberInstance(); format.setMaximumFractionDigits(Integer.MAX_VALUE); 但是我想知道是否有一种更明确的方法来指定不应有精度限制。来自NumberFormat API(): “setParseIntegerOnly:仅影响解析,例如,如果为true,“3456.7

有没有办法创建一个没有最大小数位数的
NumberFormat
实例?一个显而易见的解决办法是

NumberFormat format = NumberFormat.getNumberInstance();
format.setMaximumFractionDigits(Integer.MAX_VALUE);
但是我想知道是否有一种更明确的方法来指定不应有精度限制。

来自NumberFormat API():

setParseIntegerOnly
:仅影响解析,例如,如果为true,“3456.78”->3456(并在索引6之后离开解析位置);如果为false,“3456.78”->3456.78(并在索引8之后离开解析位置),这与格式无关。”

我想如果你调用
setParseIntegerOnly(false)
它就不会担心精度限制,尽管我用这一个来扩展事实

啊哈!我们开始:

NumberFormat nf = NumberFormat.getInstance();
nf.setRoundingMode(RoundingMode.CEILING);
再说一遍,我不确定“向无穷大进位”是什么意思。可能是你想要这个:

nf.setRoundingMode(RoundingMode.UNNECESSARY);

我想你误解了这个问题。我什么都不想拐弯抹角。我想保留所有的小数,我知道。我对NumberFormat的操作不太熟悉,但我认为告诉它不要使用RoundingMode进行取整。不必要的可能会造成麻烦,对不起。我查看了API,但没有找到任何其他可能有助于此规范的内容