Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用五位小数设置双精度格式_Java_Loops_Double_Decimal_Decimalformat - Fatal编程技术网

Java 使用五位小数设置双精度格式

Java 使用五位小数设置双精度格式,java,loops,double,decimal,decimalformat,Java,Loops,Double,Decimal,Decimalformat,我需要创建一个Java程序来求序列S=1+1的和/x+2/x2+…+N/xN 我的代码在求和时工作正常,但他们希望我的结果输出为五位小数(结果-2.75为2.75000)。对于大于5位小数的结果,我使用了小数格式。但是如何用两个小数点打印结果——用五个小数点 import java.text.DecimalFormat; import java.util.Scanner; public class Calculate { public static void main(String[

我需要创建一个Java程序来求序列S=1+1的和/x+2/x2+…+N/xN

我的代码在求和时工作正常,但他们希望我的结果输出为五位小数(结果-2.75为2.75000)。对于大于5位小数的结果,我使用了小数格式。但是如何用两个小数点打印结果——用五个小数点

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); 
    }
}
导入java.text.DecimalFormat;
导入java.util.Scanner;
公共类计算{
公共静态void main(字符串[]args){
DecimalFormat df=新的DecimalFormat(“#.#######”);
扫描仪=新的扫描仪(System.in);
double n=scanner.nextDouble();
double x=scanner.nextDouble();
双因子=1;
双功率=1;
双S=0;
双重结果;
对于(int i=1;i只需使用以下格式:

DecimalFormat df = new DecimalFormat("0.00000");
只需使用以下格式:

DecimalFormat df = new DecimalFormat("0.00000");
我尝试了一些组合,如“双精度大于两个小数”,“双精度大于五个小数”结束等,但我不知道填充零…对不起:)我尝试了一些组合,如“双精度大于两个小数”,“双精度大于五个小数”结束等,但我不知道填充零…对不起:)