Java字符串格式化记录

简介: 最近打log的时候用到了字符串的格式化。Java中String格式化和C语言的很类似。把情况都列出来,以后好查询。 public static void main(String[] args) { System.

最近打log的时候用到了字符串的格式化。
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));
目录
相关文章
|
29天前
|
Java
Java 字符串分割split空字符串丢失解决方案
Java 字符串分割split空字符串丢失解决方案
|
2月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
32 4
|
6天前
|
传感器 数据采集 网络协议
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
Java串口通信:从十六进制字符串到字节数组的正确转换与发送
23 4
|
7天前
|
Java
在Java中,如何将字符串转换为浮点数?
【4月更文挑战第30天】在Java中,如何将字符串转换为浮点数?
14 0
|
8天前
|
存储 Java C语言
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
17 0
|
9天前
|
Java
JAVA刷题之字符串的一些个人思路
JAVA刷题之字符串的一些个人思路
|
12天前
|
缓存 安全 Java
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
7 0
|
19天前
|
Java
java 数组转字符串 和字符串转int
【4月更文挑战第11天】java 数组转字符串 和字符串转int
16 2
|
19天前
|
Java
java判断字符串中有多少数字字母或者符号
java判断字符串中有多少数字字母或者符号
|
25天前
|
XML JSON 安全
解锁Java 21的新特性:强大而灵活的字符串模板应用
解锁Java 21的新特性:强大而灵活的字符串模板应用
20 0