gpt4 book ai didi

java - NumberFormat setMaximumFractionDigits 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:45:56 28 4
gpt4 key购买 nike

我正在尝试 NumberFormat 类的方法和功能我得到了一个奇怪的结果。我编译并运行以下程序:

public static void main(String[] args) {

Locale loc = Locale.US;
NumberFormat nf = NumberFormat.getInstance(loc);
System.out.println("Max: "+nf.getMaximumFractionDigits());
System.out.println("Min: "+nf.getMinimumFractionDigits());
try {
Number d = nf.parse("4527.9997539");
System.out.println(d);
// nf.setMaximumFractionDigits(4);
System.out.println(nf.format(4527.999753));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

输出是:

Max: 3
Min: 0
4527.9997539
4,528

这意味着它不考虑任何小数位。如果我取消注释该行:

nf.setMaximumFractionDigits(4);

输出是:

Max: 3
Min: 0
4527.9997539
4,527.9998

换句话说,它工作正常。方法 setMaximumFractionDigits() 实际发生了什么,它在第一种情况下不带包含 3 个小数位的数字?

最佳答案

我终于找到了答案。 setMaximumFractionDigits() 方法仅对 format() 方法有影响。它与 parse() 无关。在我的代码片段中,我在手动将小数位数设置为 4 后使用方法 format(),因此它会影响结果。

关于java - NumberFormat setMaximumFractionDigits 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14264193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com