gpt4 book ai didi

java - 数字格式 : setMaximumFractionDigits - not giving expected results

转载 作者:搜寻专家 更新时间:2023-11-01 03:22:30 25 4
gpt4 key购买 nike

试图找出以下代码未输出预期结果的原因。请指教。谢谢。

    import java.text.*;

public class Test {
public static void main(String[] args) {
String s = "987.123456";
double d = 987.123456d;
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(5);
System.out.println(nf.format(d) + " ");
try {
System.out.println(nf.parse(s));
} catch (Exception e) {
System.out.println("got exc");
}
}
}

输出:

 987.12346 // Expected 987.12345 not 987.12346
987.123456

最佳答案

您的第二次打印没有格式化您已解析的 double

// System.out.println(nf.parse(s));
System.out.println(nf.format(nf.parse(s))); // <-- 987.12346

要获得您要求的输出,您可以添加对 NumberFormat#setRoundingMode(RoundingMode) 的调用- 像

nf.setMaximumFractionDigits(5);
nf.setRoundingMode(RoundingMode.DOWN);

关于java - 数字格式 : setMaximumFractionDigits - not giving expected results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416378/

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