以下是C语言的格式化输出
#include<stdio.h>
int main(){
double x = 10.0/3;
printf("%8.2f",x);
}
%8.2f表示输出位宽为8,保留两位小数。
以下是java的格式化输出
public class FormatTest {
public static void main(String[] args){
double x = 10.0/3;
System.out.printf("%8.2f",x);
}
}
java沿用了C语言的printf格式输出方法。
格式化输出扩展内容
1.%s是以字符串形式进行格式化输出,但若一个对象实现了Formattable接口中的formatTo()方法,就会调用这个对象对于该方法的实现,否则就是用的toString()方法。
2.可以使用String类的静态方法format()将格式化的字符串赋值保存,而不必一定要输出。
public class FormatTest {
public static void main(String[] args){
double x = 10.0/3;
String message = String.format("%8.2f",x);
System.out.println(message);
}
}
3.java 15提供了字符串常量对象的formatted方法,可以略微比上述方法少写几个字符。
public class FormatTest {
public static void main(String[] args){
double x = 10.0/3;
String message = "%8.2f".formatted(x);
System.out.println(message);
}
}
经验总结
1.java沿用了C语言提供的printf方法,可以等同的去使用这个方法进行格式化输出
2.java可以使用format()方法获取一个格式化的字符串,留存下来方便后续处理
3.java 15提供了一种直观上对格式化字符串所使用的变量看起来更清晰的格式化方法