我正在尝试生成右对齐数字,看起来有点像这样:
12345
2345
但我显然不懂语法。我一直在努力关注these instructions。并提出以下尝试(它是整数所以d,我想要宽度7和0小数):
public class test {
public static void main( String[] args ) {
System.out.format("%7.0d%n", 12345);
System.out.format("%7.0d%n", 2345);
}
}
但无论我做什么,我似乎都以IllegalFormatPrecisionException
结束。有没有办法使用此工具执行此操作?如果不是,你会怎么做呢?
答案 0 :(得分:3)
您可以这样做:
public class Test {
public static void main( String[] args ) {
System.out.format("%7d%n", 12345);
System.out.format("%7d%n", 2345);
}
}
本质上,这段代码要求Java用空格填充字符串,以便输出正好是7个字符。
答案 1 :(得分:1)
这样做:
public class test {
public static void main( String[] args ) {
System.out.format("%7d%n", 12345);
System.out.format("%7d%n", 2345);
}
}
答案 2 :(得分:1)
在链接页面中显示:
System.out.format("%,8d%n", n); // --> " 461,012"
您可以省略逗号,并将8更改为7
答案 3 :(得分:0)
转换器%d用于整数,%f用于浮点数。 “%7.0d%n”与float一起使用(即,%7.0f%n),“%7d%n”用于整数表示。这是IllegalFormatPrecisionException异常的原因。
参考链接http://docs.oracle.com/javase/tutorial/java/data/numberformat.html