Java的格式化输出
参考https://www.cnblogs.com/qunqun/p/8656217.html
总结
- Formatter类,将一种形式的字符串转化为另一种形式,常用的System.out.format(),System.out.printf()和String.format()都是它的封装
Usage:
String name = "huhx";
int age = 22;
Formatter formatter = new Formatter(System.out);
formatter.format("My name is %s, and my age is %d ", name, age);
formatter.close();
String msg = new Formatter().format("My name is %s, and my age is %d ", name, age).toString();
主要用法是format()方法,难点是格式化字符的使用
- 格式化字符的常见用法,参考https://blog.csdn.net/weixin_39590058/article/details/79875921
int year = 2020;
//直接打印数字
System.out.format("%d%n",year);
//用%n或\n没差,但%n和平台无关
//总长度为8,默认右对齐
System.out.printf("%8d%n",year);
//用printf还是format没差
//总长度为8,默认左对齐
System.out.printf("%-8d%n",year);
//总长度为8,不够补0
System.out.printf("%08d%n",year);
//千位分隔符
System.out.printf("%,8d%n",year*10000);
//小数点位数
System.out.format("%.2f%n",Math.PI);
【Java的格式化输出】补充一些
d 十进制
x 十六进制
o 八进制
f 浮点数
e 指数形式浮点数
s 字符串
c 字符
+保留正负号
3. 日期的格式化
都知道日期是从计算机纪元开始的时间戳转化的结构体
有两种方式可以对日期格式化
SimpleDateFormat 是Format的子类,但是与Formatter无关
Usage:
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
Formatter本身也可以对日期格式化,但相对不那么方便(只能以某种规定的形式)
Usage
System.out.printf("%tc%n", new Date());
System.out.printf("%tF%n", new Date());
System.out.printf("%tD%n", new Date());
System.out.printf("%tT%n", new Date());
System.out.printf("%tr%n", new Date());
System.out.printf("%tR%n", new Date());
System.out.printf("%tY%n", new Date());
System.out.printf("%tm%n", new Date());
System.out.printf("%td%n", new Date());
System.out.printf("%ts%n", new Date());
/**output:
星期一 九月 16 18:09:33 CST 2019
2019-09-16
09/16/19
18:09:34
06:09:34 下午
18:09
2019
09
16
1568628574(时间戳,以秒为单位,%tQ以毫秒为单位)
**/
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量