作者:潘佳琦

链接:https://segmentfault.com/a/1190000019350486

引言

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言应该记得C语言的sprintf()方法,两者有类似之处。

format()方法有两种重载形式。

重载

// 使用当前本地区域对象(Locale.getDefault()),制定字符串格式和参数生成格式化的字符串
String String.format(String fmt, Object... args);// 自定义本地区域对象,制定字符串格式和参数生成格式化的字符串
String String.format(Locale locale, String fmt, Object... args);

占位符

格式化说明最多会有5个部分(不包括%符号) . 下面的[]符号里面都是选择性的项目,因此只有%与type是必要的. 格式化说明的顺序是有规定的,必须要以这个顺序章指定.

实例:

超过一项以上的参数时

把新的参数加到后面,因此会有3个参数来调用format()而不是两个,并且在第一个参数中,也就是格式化串中,会有两个不同的格式化设定,也就是两个%开头的字符组合,第二个会应用在第一个%上面,第三个参数会用在第二%上,也就是参数会依照顺序应用在%上面" 。

int one = 123456789;
double two = 123456.789;
String s = String.format("第一个参数:%,d 第二个参数:%,.2f", one, two);
System.out.println(s);

转换符

转换符的标志

对字符串进行格式化

示例——将"hello"格式化为"hello  "(左对齐)

String raw = "hello word";
String str = String.format("|%-15s|", raw);
System.out.println(str);

对整数进行格式化

示例——将-1000显示为(1,000)

int num = -1000;String str = String.format("%(,d", num);
System.out.println(str);

对浮点数进行格式化

double num = 123.456789;
System.out.print(String.format("浮点类型:%.2f %n", num));
System.out.print(String.format("十六进制浮点类型:%a %n", num));
System.out.print(String.format("通用浮点类型:%g ", num));

对日期时间进行格式化

  • 日期的转换符

  • 时间的转换符

  • 实例

Date date = new Date();
System.out.printf("全部日期和时间信息:%tc%n",date);
System.out.printf("年-月-日格式:%tF%n",date);
System.out.printf("月/日/年格式:%tD%n",date);
System.out.printf("HH:MM:SS PM格式(12时制):%tr%n",date);
System.out.printf("HH:MM:SS格式(24时制):%tT%n",date);
System.out.printf("HH:MM格式(24时制):%tR",date);

String.format() 图文详解,写得非常好!相关推荐

  1. String.format()方法详解

    String.format()方法详解 前言: String.format()作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,这里根据查阅的资料做个学习笔记,整理成如下文章,供后续复习查阅. ...

  2. C#中string.format用法详解 格式字符串

    string.Format对C#字符串格式化 String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 ...

  3. python知识:string.format()函数详解

    python2.6 新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . 一.处理字符串 1 不设置指定位置,按默认 ...

  4. php。defined,PHP defined()函数的使用图文详解

    PHP defined()函数的使用图文详解 PHP defined() 函数 例子 定义和用法 defined() 函数检查某常量是否存在. 若常量存在,则返回 true,否则返回 false. 语 ...

  5. python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...

    我想要(下)的,我现在就要 python爬虫实战--图片自动下载器 之前介绍了那么多基本知识[Python爬虫]入门知识(没看的赶紧去看)大家也估计手痒了.想要实际做个小东西来看看,毕竟: talk ...

  6. HUE配置文件hue.ini 的hbase模块详解(图文详解)(分HA集群和非HA集群)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  7. Elasticsearch之settings和mappings(图文详解)

    Elasticsearch之settings和mappings的意义 简单的说,就是 settings是修改分片和副本数的. mappings是修改字段和类型的. 记住,可以用url方式来操作它们,也 ...

  8. 【图文详解】一文全面彻底搞懂HBase、LevelDB、RocksDB等NoSQL背后的存储原理:LSM-tree日志结构合并树...

    LSM 树广泛用于数据存储,例如 RocksDB.Apache AsterixDB.Bigtable.HBase.LevelDB.Apache Accumulo.SQLite4.Tarantool.W ...

  9. JDK安装和环境变量配置(Win10图文详解)

    JDK的安装和环境变量配置(Win10,图文详解) 操作系统 JDK的安装 JDK下载 系统环境变量配置 验证JDK和环境变量配置 Eclipse安装 Java小白入门项目代码参考 结语 操作系统 W ...

最新文章

  1. 导入json数据到Elasticsearch(bulk方法)
  2. 联想android刷机教程视频,联想s939刷机教程(刷官方系统)
  3. nagios错误: 无法打开要更新的命令文件
  4. leetcode1041困于环中的机器人
  5. 嵌入式linux安装qt,树莓派上安装qt
  6. 卡巴斯基安全部队2013中文免费版【可免费使用一个月】
  7. Spark Streaming系列-1、什么是Spark Streaming?
  8. 运算放大器:加法电路
  9. oracle spatial 11g 安装,手动安装Oracle Spatial
  10. echarts或vcharts的X轴设置
  11. ajax实现文件的上传(局部刷新页面,文件上传)
  12. 2-Druid 系统框架
  13. STM32C8T6 CAN常见波特率配置表
  14. 学习 《模型思维》-斯科特·佩奇 笔记 9.29
  15. .NET高级工程师面试经历
  16. 博学谷java题库判断_博学谷Java开发面试基础笔试题及答案分享
  17. SDN控制平面(五)
  18. 全球首个支持华为鸿蒙 HarmonyOS 的游戏引擎来了:Cocos Creator 3.2 月底发布
  19. AAMA 2604 铝型材和板材上的高性能有机涂层的推荐规范、性能要求和测试方法
  20. 机器学习算法与Python实践之 k均值聚类(k-means)

热门文章

  1. 程序员面试题精选100题(37)-寻找丑数[算法]
  2. Nova 启动虚拟机流程解析
  3. 校园交易平台后台系统git操作全过程
  4. 【函数】02、函数进阶
  5. crypto-js RC4和hash_hmac运用
  6. Uva 11572 唯一的雪花
  7. 35 mysql 备份与恢复
  8. C++ Primer Plus(十一)—— 使用类
  9. iOS sql的简单封装
  10. maven小节,Nexus私服,构件打包发布,动态资源过滤,自动部署到本地或远程服务器...