用五位小数格式化双精度

我需要创建 Java 程序来找到 S = 1 + 1!/x + 2!/x2 + … + N!/xN 序列的总和。


我的代码对于总和工作正常,但他们希望我的结果输出为五位小数(结果 - 2.75 为 2.75000)。我正在将DecimalFormat用于超过五位小数的结果并且它有效。但是如何打印两位小数的结果 - 五位?


import java.text.DecimalFormat;

import java.util.Scanner;


public class Calculate {


    public static void main(String[] args) {

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

        Scanner scanner = new Scanner(System.in);

        double n = scanner.nextDouble();

        double x = scanner.nextDouble();

        double factorial = 1;

        double pow = 1;

        double S = 0;

        double result;


        for (int i = 1; i <= n; i++) {

            factorial *= i;

            pow *= x; 

            result = (factorial / pow);

            S += result;

        }


        double finalResult = (S + 1); 

        String formatted = df.format(finalResult); 

        System.out.println(formatted); 

    }

}


九州编程
浏览 117回答 1
1回答

炎炎设计

只需使用这种格式:DecimalFormat&nbsp;df&nbsp;=&nbsp;new&nbsp;DecimalFormat("0.00000");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java