美文网首页
字符串格式化: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