gpt4 book ai didi

Java序列化 double

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:13 26 4
gpt4 key购买 nike

我想将 double 序列化/反序列化为可读字符串。我很高兴在第 6 个 dp 之后失去任何准确性。

执行此操作的正确方法是什么?

我担心 System.out.println(1.03 - .42) 打印 0.6100000000000001 而不是 0.61。

谢谢。

最佳答案

如果您想要该值用于测试目的,Double.toString(double) 可能会很好。

如果您想要一个更具可读性的数字(例如 1.01 而不是 1.01000000000587732),您可以使用 DecimalFormat (http://docs.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html) 或 BigDecimal:

BigDecimal bd = BigDecimal.valueOf(double)
BigDecimal bd2 = bd.setScale(6, RoundingMode.HALF_UP); // six decimal
String out = bd2.toString();
String out2 = bd2.toPlainString();

编辑:用户编辑后,我认为正确的做法是:

    DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(1.03 - .42));

关于Java序列化 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9128116/

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