当前位置: 首页 > article >正文

String.format()的使用

java.lang.String包下自带的格式化静态方法

1.简单示例

String a = String.format("你好! %s", "小扬子");
System.out.println(a);
输出结果:
Hello 小扬子

  %s为占位符标识,s对应字符串类型参数

2.对字符串进行格式化

String a = "hello";
String b = "hi";
String str = String.format("%2$10s", a,b);
System.out.println(str);
输出结果:hi

符号说明:    

     %:占位符;    

     2$:第二个参数,即b    

     10:代表最小宽度,可以用 标识*10的形式,如果没写默认左边为空格,如果为"-",则右边为空格  

      s:转换符,表示参数类型

转换符类型:

      s:字符串类型。

      c:字符类型,实参必须为char或int、short等可转换为char类型的数据类型,否则抛IllegalFormatConversionException异常。

      b:布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。

      n:平台独立的换行符(与通过 System.getProperty("line.separator") 是一样的)

3.对整数类型进行操作

int a = 1;
int b = -2000000;
String str = String.format("%2$(,4d", a,b);
System.out.println(str);
(2,000,000)

符号说明:    

     % : 占位符;    

     2$ : 第二个参数,即b    

     (     , : 标识 "("表示若结果为负数,则用括号括住,且不显示符号,","表示每三位数用一个逗号隔开

      4:表示最小长度,4,不写左边默认以空格填充

      d : 转换符,表示整形类型

   转换符类型:

      d : 整数类型(十进制)。

      x : 整数类型(十六进制)。

      o : 整数类型(八进制)。

      b: 布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。

      n: 平台独立的换行符(与通过 System.getProperty("line.separator") 是一样的)

   可用标识类型:

    - : 在最小宽度内左对齐,不可以与0标识一起使用

    0 : 若内容长度不足最小宽度,则在左边用0来填充。

    # : 对8进制和16进制,8进制前添加一个0,16进制前添加0x。

    + : 结果总包含一个+或-号。

     空格 : 正数前加空格,负数前加-号。

     , : 只用与十进制,每3位数字间用,分隔。

     ( : 若结果为负数,则用括号括住,且不显示符号。

4.对浮点型进行格式化

double a = 123.456789;
double b = 11109.87654321;
System.out.print(String.format("%2$,0100.5f", a,b));
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011,109.87654

符号说明:    

     % : 占位符;    

     2$ : 第二个参数,即b    

      ,   0 : ","表示每三位数用一个逗号隔开,当长度不够规定的长度的时候,左边以0补齐

      100 : 当长度不够100的时候,左边以0补齐

       .5 : 保留五位小数(按四舍五入)

       f : 转换符,表示浮点型

   转换符类型:

       f : 浮点类型(十进制)。

      a : 浮点类型(十六进制)。

      e : 指数类型。

      g : 浮点类型(比f和a长度短些,显示6位有效数字)。

      b: 布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。

      n: 平台独立的换行符(与通过 System.getProperty("line.separator") 是一样的)

   可用标识类型:

    - : 在最小宽度内左对齐,不可以与0标识一起使用

    0 : 若内容长度不足最小宽度,则在左边用0来填充。

    # : 对8进制和16进制,8进制前添加一个0,16进制前添加0x。

    + : 结果总包含一个+或-号。

     空格 : 正数前加空格,负数前加-号。

     , : 只用与十进制,每3位数字间用,分隔。

     ( : 若结果为负数,则用括号括住,且不显示符号。

5.对时间类型进行格式化

Date now = new Date();
String str = String.format("%1$tF %1$tT", now);
System.out.println(str);
2018-07-20 17:26:38

符号说明:    

     % : 占位符;    

     1$ : 第一个参数,即now   

      F: 转换符 表示日期格式 2018-07-20,与t结合使用

      T : 表示时间格式,17:26:38

       t : 转换符,表示时间类型

可用转换符:

 c : 星期六 十月 27 14:21:20 CST 2007

 F : 2007-10-27

 D : 10/27/07

 r : 02:25:51 下午

 T : 14:28:16

 R : 14:28

 b : 月份简称

 B : 月份全称

 a : 星期简称

 A : 星期全称

 C : 年前两位(不足两位补零)

 y : 年后两位(不足两位补零)

 j : 当年的第几天

 m : 月份(不足两位补零)

 d : 日期(不足两位补零)

 e : 日期(不足两位不补零)

 H : 24小时制的小时(不足两位补零)

 k : 24小时制的小时(不足两位不补零)

 I : 12小时制的小时(不足两位补零)

 i : 12小时制的小时(不足两位不补零)

 M : 分钟(不足两位补零)

 S : 秒(不足两位补零)

 L : 毫秒(不足三位补零)

 N : 毫秒(不足9位补零)

 p : 小写字母的上午或下午标记 : 如中文为“下午” : 英文为pm

 z : 相对于GMT的时区偏移量 : 如+0800

 Z : 时区缩写 : 如CST

 s : 自1970-1-1 00:00:00起经过的秒数

Q : 自1970-1-1 00:00:00起经过的豪秒

6.%<

格式化前一个转换符描述的参数

int num = 123456789;
String str = String.format("%d 变成了 %<,d", num);
System.out.println(str);
输出结果:
123456789 变成了 123,456,789

http://www.lryc.cn/news/2417738.html

相关文章:

  • 蓝牙beacon 功能简介
  • Kylin的介绍、使用和原理架构(Kylin3.0和Kylin4.0,Cube,去重原理,性能优化,MDX For Kylin,BI工具集成)
  • C++ MFC程序框架结构解析(详细)
  • vue系列 —— vue-route详细使用方法
  • Sqlmap常用命令总结
  • sudo权限管理
  • 是不是都把SELinux给忘了?
  • git命令归纳整理及如何使用
  • JDBC连接数据库小白级教程
  • 设计模式学习(三):Adapter适配器模式
  • JavaFX17 现代 Java 客户端权威指南(七)
  • Unity-3D游戏开发套件指南(入门篇)-免费资源
  • 如何快速而准确地进行 IP 和端口信息扫描:渗透测试必备技能
  • PID超详细教程——PID原理+串级PID+C代码+在线仿真调参
  • 一文彻底搞懂 TSL 流程
  • 计算机网络一篇文章就能掌握,拓扑结构图文解析,协议详解等
  • Java中indexOf()的用法
  • 一文搞懂AOP 通俗易懂
  • NTFS(微软专用文件系统)
  • vault-服务器密码/证书管理工具
  • Content-type的几种常见类型及php://input的使用
  • STM32之RCC(1)
  • ASP是什么?
  • 爬虫解析——Xpath的安装及使用(五)
  • OpenCore 黑苹果安装教程
  • sonar小白式入门
  • 深度学习简介与MLP多层感知机
  • Linux命令200例:find用来查找文件和目录,不可错过的15个例子
  • AcWing 算法基础课笔记 1.基础算法
  • thmeleaf模板引擎使用总结