在Java中使用printf格式化数字数据
首先,我们采用了一个double变量并将其显示两次。
double d = 399.8877; System.out.printf("d1 = %2$f d2 = %1$g", d, d);
在那之后,我们格式化了数值int数据-
int val1 = 90, val2 = 35, val3 = 88, val4 = 600; System.out.printf("\nval1 = %d, val2 = %x, val3 = %o, val4 = %d", val1, val2, val3, val4); System.out.printf("\nval2 = %4$d, val2 = %3$d, val3 = %2$o, val4 = %1$d", val1, val2, val3, val4);
上面,我们显示了%o代表八进制,%x代表十六进制,%d代表整数等。
以下是完整的示例-
示例
public class Demo { public static void main(String[] args) throws Exception { int val1 = 90, val2 = 35, val3 = 88, val4 = 600; double d = 399.8877; System.out.printf("d1 = %2$f d2 = %1$g", d, d); System.out.printf("\nval1 = %d, val2 = %x, val3 = %o, val4 = %d", val1, val2, val3, val4); System.out.printf("\nval2 = %4$d, val2 = %3$d, val3 = %2$o, val4 = %1$d", val1, val2, val3, val4); } }
输出结果
d1 = 399.887700 d2 = 399.888 val1 = 90, val2 = 23, val3 = 130, val4 = 600 val2 = 600, val2 = 88, val3 = 43, val4 = 90