美文网首页
字符串格式化:Formatter 类

字符串格式化:Formatter 类

作者: hswwjp | 来源:发表于2018-12-08 23:23 被阅读13次

    类型转换字符 代码:

        @Test
        public void stringFormat() {
            System.out.println(String.format("符号d: %d", 1000)); // 整数型(十进制)
            System.out.println(String.format("符号o: %o", 1000)); // 整数型(八进制)
            System.out.println(String.format("符号x: %x", 1000)); // 整数型(十六进制)
            System.out.println(String.format("符号f: %f", 1000.0)); // 浮点型(十进制)
            System.out.println(String.format("符号e: %e", 1000.0)); // 浮点型(科学计数)
            System.out.println(String.format("符号b: %b", true)); // 布尔型
            System.out.println(String.format("符号c: %c", 'A')); // 字符型
            System.out.println(String.format("符号s: %s", "字符串")); // 字符串型
            System.out.println(String.format("符号%%: %d%%", 50)); // 字符%
        }
    

    输出:

    符号d: 1000
    符号o: 1750
    符号x: 3e8
    符号f: 1000.000000
    符号e: 1.000000e+03
    符号b: true
    符号c: A
    符号s: 字符串
    符号%: 50%
    
    类型转换字符

    格式控制(flags) 代码:

        @Test
        public void flagFormat() {
            System.out.println(String.format("***%8d***", 1000)); // 无负号 右对齐
            System.out.println(String.format("***%-8d***", 1000)); // 有负号"-" 左对齐
            System.out.println(String.format("***%+8d***", 1000)); // 有加号"+" 正数前显示正号
            System.out.println(String.format("***%+8d***", -1000)); // 有加号"+" 负数前显示负号
            System.out.println(String.format("***% 8d***", 1000)); // 有空格" " 正数前显示空格
            System.out.println(String.format("***% 8d***", -1000)); // 有空格" " 负数前显示负号
            System.out.println(String.format("***%08d***", 1000)); // 有零"0" 使用0填充剩余位置
            System.out.println(String.format("***%,8d***", 10000)); // 有逗号"," 每3位数字添加一个逗号
            System.out.println(String.format("***%,8d***", 1000000)); // 有逗号"," 每3位数字添加一个逗号
        }
    

    输出:

    ***    1000***
    ***1000    ***
    ***   +1000***
    ***   -1000***
    ***    1000***
    ***   -1000***
    ***00001000***
    ***  10,000***
    ***1,000,000***
    
    格式控制(flags)

    String.format() 源码部分:

        /**
         * Returns a formatted string using the specified format string and arguments.
         */
        public static String format(String format, Object... args) {
            return new Formatter().format(format, args).toString();
        }
    

    最终 Formatter对象调用 toString()方法

    参考资料:https://blog.csdn.net/cuixianlong/article/details/78583186

    相关文章

      网友评论

          本文标题:字符串格式化:Formatter 类

          本文链接:https://www.haomeiwen.com/subject/tqnchqtx.html