0

我想将我的数字限制为 7 个有效数字(我相信这在美式英语中被称为有效数字),最多 5 个小数位,但我确保如何做到这一点。

我目前正在使用%-7.5f,但这总是打印 5 个小数位,即使这些位不重要。

3.75变成3.75000

这里有一些例子可以尝试进一步阐明我所追求的:

3097.0->3097

10.39596->10.396

79.6103426->79.61034

即没有前导或尾随 0、7 个有效数字和最多 5 个小数位。

我正在尝试这样做,因为我正在升级一个用 QBasic 编写的旧程序,这就是它在显示浮点数时格式化它的方式。我希望我的 Java 代码以这种方式输出数字,以便更容易比较结果。

4

3 回答 3

2

你可以用DecimalFormat这个

    double value1 = 10.39596;
    double value2 = 79.6103426;
    DecimalFormat df = new DecimalFormat("#.#####");
    System.out.print(df.format(value1));
    System.out.print(df.format(value2));
于 2013-08-01T10:42:26.823 回答
2

我建议为此目的使用 DecimalFormat

new DecimalFormat("#.#####").format(d)

此模式将小数部分限制为最多 5 位

于 2013-08-01T10:40:04.540 回答
1

关于什么

DecimalFormat format = new DecimalFormat("#.#####");
System.out.println(format.format(79.6103426));
于 2013-08-01T10:38:23.410 回答