如何限制小数位数?

How to limit decimals digits?

我正在使用 double 做一个基本的计算器,但我希望输出限制为只显示 2 个小数位。

例如,当这是输入时:

5 + 0.70

我希望输出为:

5.70

那么如何让它始终显示 2 位小数? 下面是我的代码:

import java.util.Scanner;

class Main{

public static void main(String[] args) {

    Scanner input=new Scanner(System.in);
    
    double fnum,snum,ans;
    char sign; 
    

    fnum=input.nextDouble();
    sign=input.next().charAt(0); 
    snum=input.nextDouble();
    
    if (sign == '+' ){
        ans=fnum + snum;
        System.out.println(ans);
    }
    else if(sign == '-')
    {
        ans=fnum-snum;
        System.out.println(ans);
    }
    else if(sign == '/'){
            ans=fnum/snum;
            System.out.println(ans);
    }
    else if(sign == '*'){
                ans=fnum*snum;
                System.out.println(ans);
    }
    else
        
    System.out.println("Your Input is not correct,please check it for any error(s).");
        
}

}

只需使用String.format:

System.out.println(String.format("%.2f",ans));

请注意,这会将您的值转换为字符串,对于计算,您应该继续使用其数字表示形式。