我正在尝试编写一个 printf 语句,该语句添加空格并将双精度舍入到小数点后四位。我只是不确定如何格式化 printf 语句以允许一个变量同时使用“%-10s”和“%.4f”。谢谢您的帮助!
public static void main(String[] args) {
final int NUM_RANGE = 86; //allows for [0,176] range in loop output
int i; //iteration index
double oddNum = 1.0000; //initialized as first odd num possible
double evenNum = 0.0000; //initialized as first even num possible
double numSqred = Math.sqrt(oddNum + evenNum);
System.out.printf("%-10s",oddNum); //prints initial odd num
System.out.printf("%-10s", evenNum); //prints initial even num
System.out.printf("%.4f \n" ,numSqred);
for (i = 0; i < NUM_RANGE; ++i) {
//updates oddNum to next odd number for each iteration
oddNum += 2;
System.out.printf("%-10s",oddNum);
//updates evenNum to next odd number for each iteration
evenNum += 2;
System.out.printf("%-10s", evenNum);
//update numSqred for new odd and even num
numSqred = Math.sqrt(oddNum + evenNum);
System.out.printf("%.4f \n" ,numSqred);
}
我尝试用逗号和“+”分隔“%-10s”和“%.4f”,并期望它们都将格式应用于一个变量,但它不起作用。我已经尝试查找如何执行此操作,但到目前为止我还没有找到任何东西。
'...我只是不确定如何格式化 printf 语句以允许一个变量同时使用“%-10s”和“%.4f”。 ...'
您可以提供 width 值。
%[argument_index$][flags][width][.precision]conversion
%-10.4f