Java字符串格式化记录
2016-04-20 21:15
344 查看
最近打log的时候用到了字符串的格式化。
Java中String格式化和C语言的很类似。把情况都列出来,以后好查询。
在Android中TextView.setText时,如果单独传入一个数字,很容易出错
转成格式化字符串,或者直接转字符串即可
Java中String格式化和C语言的很类似。把情况都列出来,以后好查询。
public static void main(String[] args) { System.out.println(String.format("Hi, %s", "Rust Fisher")); // Hi, Rust Fisher System.out.println(String.format("%s: Hi, %s %s %s", "Lei Jun", "I", "am", "OK")); // Lei Jun: Hi, I am OK System.out.println(String.format("输出单个字符:%c", 'A')); // 输出单个字符:A System.out.printf("输出条件判断: 1>2 :%b %n", 1 > 2); // 输出条件判断: 1>2 :false System.out.printf("输出计算结果:100的一半是:%d %n", 100 / 2); // 输出计算结果:100的一半是:50 System.out.printf("输出float型:100元的书打8.5折扣是:%f 元%n", 100 * 0.85); // 输出float型:100元的书打8.5折扣是:85.000000 元 System.out.printf("输出进制转换:100的16进制数是:%x %n", 100); // 输出进制转换:100的16进制数是:64 System.out.printf("输出进制转换:100的8进制数是:%o %n", 100); // 输出进制转换:100的8进制数是:144 System.out.printf("输出结果进制转换:50 * 0.85的16进制数是:%a %n", 50 * 0.85); // 输出结果进制转换:50 * 0.85的16进制数是:0x1.54p5 System.out.printf("指数表示:%e %n", 100 * 0.85); // 指数表示:8.500000e+01 System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50 * 0.85); // 上面价格的指数和浮点数结果的长度较短的是:42.5000 System.out.printf("百分比表示 %d%% %n", 85); // 百分比表示 85% System.out.printf("字母A的散列码是:%h %n", 'A'); // 字母A的散列码是:41 System.out.println("--------------------"); System.out.println(String.format("格式参数$的使用:%1$d,%2$s", 99, "abc")); // 格式参数$的使用:99,abc System.out.printf("显示正负数的符号:%+d与%+d %d %n", 99, -99, -99); // 显示正负数的符号:+99与-99 -99 System.out.printf("补O使用:%03d%n", 7); // 补O使用:007 System.out.printf("空格使用 Tab键的效果是:% 8d%n", 7); // 空格使用 Tab键的效果是: 7 System.out.printf(".使用 整数分组的效果是:%,d%n", 9989997); // .使用 整数分组的效果是:9,989,997 System.out.printf("空格和小数点后面个数 一本书的价格是:% 10.5f元%n", 49.8); // 空格和小数点后面个数 一本书的价格是: 49.80000元 System.out.println("--------------------"); Date date = new Date(); System.out.printf("c的使用 全部日期和时间信息:%tc%n", date); // c的使用 全部日期和时间信息:星期三 四月 20 21:03:57 CST 2016 System.out.printf("f的使用 年-月-日格式:%tF%n", date); // f的使用 年-月-日格式:2016-04-20 System.out.printf("d的使用 月/日/年格式:%tD%n", date); // d的使用 月/日/年格式:04/20/16 System.out.printf("r的使用 HH:MM:SS PM格式(12时制):%tr%n", date); // r的使用 HH:MM:SS PM格式(12时制):09:03:57 下午 System.out.printf("t的使用 HH:MM:SS格式(24时制):%tT%n", date); // t的使用 HH:MM:SS格式(24时制):21:03:57 System.out.printf("R的使用 HH:MM格式(24时制):%tR", date); // R的使用 HH:MM格式(24时制):21:03 System.out.println("\n------定义日期格式的转换符可以使日期通过指定的转换符生成新字符串-----"); // ------定义日期格式的转换符可以使日期通过指定的转换符生成新字符串----- Date date2 = new Date(); System.out.println(String.format(Locale.US, "英文月份简称:%tb", date2)); // 英文月份简称:Apr System.out.printf("本地月份简称:%tb%n", date2); // 本地月份简称:四月 System.out.println(String.format(Locale.US, "英文月份全称:%tB", date2)); // 英文月份全称:April System.out.printf("本地月份全称:%tB%n", date2); // 本地月份全称:四月 System.out.println(String.format(Locale.US, "英文星期的简称:%ta", date2)); // 英文星期的简称:Wed System.out.printf("本地星期的简称:%tA%n", date2); // 本地星期的简称:星期三 System.out.printf("年的前两位数字(不足两位前面补0):%tC%n", date2); // 年的前两位数字(不足两位前面补0):20 System.out.printf("年的后两位数字(不足两位前面补0):%ty%n", date2); // 年的后两位数字(不足两位前面补0):16 System.out.printf("一年中的天数(即年的第几天):%tj%n", date2); // 一年中的天数(即年的第几天):111 System.out.printf("两位数字的月份(不足两位前面补0):%tm%n", date2); // 两位数字的月份(不足两位前面补0):04 System.out.printf("两位数字的日(不足两位前面补0):%td%n", date2); // 两位数字的日(不足两位前面补0):20 System.out.printf("月份的日(前面不补0):%te \n", date2); // 月份的日(前面不补0) Date dateToTime = new Date(); System.out.printf("H的使用 2位数字24时制的小时(不足2位前面补0):%tH%n", dateToTime); // H的使用 2位数字24时制的小时(不足2位前面补0):21 System.out.printf("I的使用 2位数字12时制的小时(不足2位前面补0):%tI%n", dateToTime); // I的使用 2位数字12时制的小时(不足2位前面补0):09 System.out.printf("k的使用 2位数字24时制的小时(前面不补0):%tk%n", dateToTime); // k的使用 2位数字24时制的小时(前面不补0):21 System.out.printf("l的使用 2位数字12时制的小时(前面不补0):%tl%n", dateToTime); // l的使用 2位数字12时制的小时(前面不补0):9 System.out.printf("M的使用 2位数字的分钟(不足2位前面补0):%tM%n", dateToTime); // M的使用 2位数字的分钟(不足2位前面补0):03 System.out.printf("S的使用 2位数字的秒(不足2位前面补0):%tS%n", dateToTime); // S的使用 2位数字的秒(不足2位前面补0):57 System.out.printf("L的使用 3位数字的毫秒(不足3位前面补0):%tL%n", dateToTime); // L的使用 3位数字的毫秒(不足3位前面补0):220 System.out.printf("N的使用 9位数字的毫秒数(不足9位前面补0):%tN%n", dateToTime); // N的使用 9位数字的毫秒数(不足9位前面补0):220000000 System.out.println(String.format(Locale.US, "p的使用 小写字母的上午或下午标记(英):%tp", dateToTime)); // p的使用 小写字母的上午或下午标记(英):pm System.out.printf("小写字母的上午或下午标记(中):%tp%n", dateToTime); // 小写字母的上午或下午标记(中):下午 System.out.printf("z的使用 相对于GMT的RFC822时区的偏移量:%tz%n", dateToTime); // z的使用 相对于GMT的RFC822时区的偏移量:+0800 System.out.printf("Z的使用 时区缩写字符串:%tZ%n", dateToTime); // Z的使用 时区缩写字符串:CST System.out.printf("s的使用 1970-1-1 00:00:00 到现在所经过的秒数:%ts%n", dateToTime); // s的使用 1970-1-1 00:00:00 到现在所经过的秒数:1461157437 System.out.printf("Q的使用 1970-1-1 00:00:00 到现在所经过的毫秒数:%tQ%n", dateToTime); // Q的使用 1970-1-1 00:00:00 到现在所经过的毫秒数:1461157437220 }
在Android中TextView.setText时,如果单独传入一个数字,很容易出错
转成格式化字符串,或者直接转字符串即可
mHighValue.setText(String.format("%d", high));
相关文章推荐
- 代码统计工具java 实现
- 如何在 Java 中正确使用 wait, notify 和 notifyAl
- 【Leetcode】:343. Integer Break 问题 in JAVA
- 20160420javaweb之文件上传和下载
- (转载)Java之外观模式(Facade Pattern)
- SpringMVC的几种返回方式
- struts2 xwork微观结构
- Spring 事务管理 DataSourceTransactionManager 和 DataSourceTransactionManager
- 贪吃蛇java源代码
- java.lang.NoClassDefFoundError;java.io.IOException: Cannot initialize Cluster.
- 浅析Spring事务传播行为和隔离级别
- SpringMVC中文乱码总结
- java中方法重载与重写的区别
- Netty中ChannelHandler共享数据的方式
- spring错误汇总
- 为什么要用枚举实现Singleton--java学习笔记
- 向eclipse中导入源码教程详解
- JVM的Heap Memory和Native Memory
- spring错误汇总
- java中的事件监听是怎样实现随时监听的