如何将我的答案从0.0转换为0.000? Rightnow它jst显示答案175.0等但我希望它显示175.000
示例:
175.0 = 175.000
10.0 = 10.000
5.0 = 5.000
etc.
在我的例子中,Code用于计算时钟指针之间的角度:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int hours = 0;
int minutes = 0;
Scanner dis=new Scanner(System.in);
String line;
String[] lineVector;
line = dis.nextLine();
lineVector = line.split(":");
hours=Integer.parseInt(lineVector[0]);
minutes=Integer.parseInt(lineVector[1]);
if (hours < 0 || minutes < 0 || hours > 24 || minutes > 60) {
System.out.println("Please enter correct input.");
} else {
if (hours == 24)
hours = 0;
if ( minutes == 60)
minutes = 0;
double hourHandAngle = 0.5 * (hours * 60 + minutes);
int minuteHandAngle = 6 * minutes;
double angle = Math.abs(hourHandAngle - minuteHandAngle);
if (angle > 360){
angle = angle - 360;
System.out.println(angle);
System.exit(0);
}
if (angle > 180 || angle <= 360){
angle = 360 - angle;
System.out.println(angle);
System.exit(0);
}
System.out.println(angle);
}
}
}
它需要显示0.000而不是0.0的想法。
解决方法:System.out.printf(“%。3f”,angle);
答案 0 :(得分:1)
您可以使用字符串格式化程序指定小数位。
%。0f是浮点数的格式字符串,带有0位小数。
String.format( "%.3f", value )
答案 1 :(得分:0)
使用MessageFormat,您可以根据需要格式化数字输出
import java.text.MessageFormat;
public class Test {
public static void main(String[] args) {
Object[] params = {123, 1222234.567 };
String msg = MessageFormat.format("{0,number,percent} and {1,number,,###.###}", params);
System.out.println(msg);
}
}
答案 2 :(得分:0)
尝试使用DecimalFormat。
以下是一个例子:
DecimalFormat format = new DecimalFormat("#.000");
System.out.println(format.format(5.0));
有关详细信息,请查看this回答的评论。