将浮点数格式化为一定长度

时间:2013-08-01 10:34:58

标签: java format

我想将我的数字限制为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代码以这种方式输出数字,以便更容易地比较结果。

3 个答案:

答案 0 :(得分:2)

我建议将DecimalFormat用于此目的

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

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

答案 1 :(得分:1)

怎么样?
DecimalFormat format = new DecimalFormat("#.#####");
System.out.println(format.format(79.6103426));

答案 2 :(得分:1)

您可以将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));
相关问题