如何限制小数位数?
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));
请注意,这会将您的值转换为字符串,对于计算,您应该继续使用其数字表示形式。
我正在使用 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));
请注意,这会将您的值转换为字符串,对于计算,您应该继续使用其数字表示形式。