gpt4 book ai didi

java - DecimalFormat 没有科学记数法

转载 作者:行者123 更新时间:2023-11-29 09:19:08 26 4
gpt4 key购买 nike

我有一个像这样的 DecimalFormat:

DecimalFormat df = new DecimalFormat("#,###.###");

然后我有 3 种方法,它们只返回时间、电势和电流的浮点值,最后两个方法有很多小数点。所以我正在尝试获取格式化了 3 个值的输出消息,因此:

System.out.println("t="+df.format(getTime())+"(s), v="+df.format(getPotential())+"(V), i="+df.format(getI())+"(A)");

时间只是从 0 到 10 计算秒数,没有任何小数点,在到达 10 之前看起来没问题。然后它显示 1E+1。我只是不明白为什么,因为我已经阅读了 API,如果我不在 DecimalFormat 中使用“E”字符,它就不应该是科学记数法。

此外,电位从 0 到某个值,使用 3 位小数。看起来还可以,但是从0到0.01,它以4位小数出现,最后一位总是0。

对 DecimalFormat 的这种行为有什么解释吗?我做错了什么?

最佳答案

也许在您的情况下使用 printf 会更简单:

System.out.printf("t=%d(s) v=%.2f(V) i=%.2f(A)\n", getTime(), getPotential(), getI());

关于java - DecimalFormat 没有科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495971/

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