1. 字符串:String.format

String.format(Locale locale,String format,Object…args)
locale:指定语言环境(选填
format:格式化语句
args:被格式化的参数

占位转换符 释义 示例
%s 字符串类型 “sdsd”
%c 字符类型 ‘s’
%b 布尔类型 true
%d 整数(十进制) 12
%x 整数(十六进制),对应十进制的值 c
%o 整数(八进制),对应十进制的值 14
%f 浮点型,显示9位有效数字,且会进行四舍五入 0.2
%a 十六进制浮点型, 0.2对应得值 0x1.9ap-3
%e 指数类型 ,0.2对应得值 2e-01
%% 百分比 10%
%n 换行符
%tx 日期时间,参数x:日期的格式

数字

        System.out.println(String.format("整数:%d,十六进制:%x,八进制:%o", 12,12,12));//输出:整数:12,十六进制:c,八进制:14System.out.println(String.format("小数:%.2f,十六进制:%.2a,指数:%e",0.2,0.2,0.02));//输出:小数:0.20,十六进制:0x1.9ap-3,指数:2.000000e-01  保留2位小数%.2f

数字对应得转换符标志

标志 说明 示例 结果
+ 给正数添加+符号,负数不添加 (“%+d”,5) +5
- 左对齐 (“!%-3d!”,5) !5 !
0 数字前不够补0 (“%03,5”) 005
空格 添加空格 (“!%3d!”,5) ! 5!
, 对数字分组 (“%,d”,1111) 1,111
( 用括号包含负数,正数无效 (“%(d”,-5) (5)
# 给八进制(0)和十六进制(0x)添加前缀
< 格式化前一个转换符对应得参数 (“%.2f和%<.1f”,0.111) 0.11和0.1
$ 被格式化的参数索引 ("%2$d",1,4) 4

常见日期和时间组合的格式

转换符 说明 示例
c 包括全部日期和时间信息 星期三 十二月 19 14:21:20 CST 2018
F “年-月-日”格式 2018-12-19
D “月/日/年”格式 18/12/19
r “HH:MM:SS PM”格式(12时制) 02:25:51 下午
T “HH:MM:SS”格式(24时制) 14:28:16
R “HH:MM”格式(24时制) 14:28
b或者h 月份简称 中:十二月英:Dec
B 月份全称 中:十二月英:December
a 星期的简称 中:星期三英:Wed
A 星期的全称 中:星期三六英:Wednesday
C 年的前两位数字(不足两位前面补0) 20
y 年的后两位数字(不足两位前面补0) 12
Y 4位数字的年份(不足4位前面补0) 2018
j 一年中的天数(即年的第几天) 353
m 两位数字的月份(不足两位前面补0) 12
d 两位数字的日(不足两位前面补0) 19
e 月份的日(前面不补0) 19
System.out.println(String.format("%tF",new Date()));//输出2018-12-19

2. 日期:DateFormat

DateFormat

//DateFormatDate d=new Date();DateFormat df=DateFormat.getDateInstance();String str=df.format(d);//格式YYYY-MM-dd

getDateInstance()—YYYY-MM-dd
getDateTimeInstance—YYYY-MM-dd HH:mm:ss
getTimeInstance—hh:mm:ss
getInstance—YY-MM-dd 下午/上午hh:mm

SimpleDateFormat

//SimpleDateFormatDate d=new Date();SimpleDateFormat sdf=new SimpleDateFormat("今天是yyyy-MM-dd hh:mm:ss");//默认中文添加参数Locale.ENGLISH英文显示String str=sdf.format(d);
字母 日期或时间 示例
y yyyy/2018,yy/18
M MM/08,M/8
w 年中的第几周 w/52,ww/04
W 月中的第几周 W/3,WW/04
D 年中的第几天 324
d 月中的第几天 dd/04
E 星期几 星期一/Mon
a AM/PM标记 下午/PM,上午/AM
H 小时(0~23) HH/08
h 小时(1~12) hh/09
m 分钟 mm/04
s ss/05
S 毫秒 s/435

3. 数字

NumberFormat

//NumberFormat
NumberFormat f=NumberFormat.getCurrencyInstance();//添加参数Locale对象指定语言环境
String str=f.format(2323.325);//¥2,323.32,小数点2位之后的五舍四入

getCurrencyInstance()–根据当前语言环境获取货币格式,可通过Locale对象为参数设置语言环境
getInstance()/getNumberInstance()–获取常规数值格式
getIntegerInstance()–整数格式,小数四舍五入
getPercentInstance()–获取百分比格式,小数点2位之后的五舍六入0.585–58%

DecimalFormat

        //DecimalFormatDecimalFormat df=new DecimalFormat();//默认显示3位小数四舍五入System.out.println(df.format(2018.3454));//输出:2,018.345df.setMaximumFractionDigits(4);//设置小数位最大位数System.out.println(df.format(2018.3454));//输出:2,018.3454df.setMinimumFractionDigits(2);//设置小数位最小位数不够补0System.out.println(df.format(2018.1));//输出:2,018.10df.setMaximumIntegerDigits(4);//设置整数最大位数System.out.println(df.format(12018.1));//输出:2018.10df.setMinimumIntegerDigits(3);//设置整数最小位数不足补0System.out.println(df.format(20));//输出:020.00df.setGroupingUsed(false);//设置是否分组false不分组,默认为trueSystem.out.println(df.format(2018.1));//输出:2018.10
元素 所对应得释义
0 表示一个数字,不够补0
# 表示一个数字,不够忽略
. 小数点分隔占位符
分组分隔占位符
- 缺省负数前缀
% 值乘以100并显示为百分数
\u2030 值乘以1000并显示为千分数
        DecimalFormat df=new DecimalFormat("00,000.###");System.out.println(df.format(111.03));//输出:00,111.03DecimalFormat df1=new DecimalFormat("#%");System.out.println(df1.format(1.12));//输出:112%DecimalFormat df2=new DecimalFormat("#\u2030");System.out.println(df2.format(1.12));//输出:1120‰

ChoiceFormat–格式化复数

 //格式化一个数组中的数字,构造参数为(double[] limits,String[] formats)double[] limits={1,2,3,4,5,6,7};//必须为升序排列且为double数组String[] formats={"Mon","Tue","Web","Thur","Fri","Sat","Sun"};//和limits一一对应ChoiceFormat cf=new ChoiceFormat(limits,formats);System.out.println(cf.format(0.4));//输出:Mon,没有比1更小的值选择1对应得星期System.out.println(cf.format(2.4));//输出:Tue,有比2.4小的数选择2对应得星期System.out.println(cf.format(2.7));//输出:TueSystem.out.println(cf.format(8));//输出:Sun
//参数为一个模式字符串 doubleNum [占位符] formatStr//占位符#、< 、\u2264(<=)ChoiceFormat cf=new ChoiceFormat("1 # one | 2 < two | 4 \u2264 three");//doubleNum必需为升序,分隔符为‘|’System.out.println(cf.format(0));//输出:one 最接近1,满足第一个公式System.out.println(cf.format(1));//输出:one 小于2,满足第一个公式System.out.println(cf.format(2));//输出:one 小于2,满足第一个公式System.out.println(cf.format(3));//输出:two 大于2,满足第二个公式System.out.println(cf.format(4));//输出:three 等于4,满足第三个公式System.out.println(cf.format(5));//输出:three 大于4,满足第三个公式

MessageFormate

int num=4;
String str="串";
String result= MessageFormat.//{index,type} type:time-时间(时分秒),date-日期(年月日),number-数字format("开始{0,time} to {0,date}, {1} on 数字 {2,number}", new Date(),str,num);
System.out.println(result);//输出开始14:54:50 to 2018-12-19, 串 on 数字 4
//详情:http://www.cnblogs.com/fsjohnhuang/p/4095059.html

格式化————format相关推荐

  1. python0b1010_笔记-python-字符串格式化-format()

    笔记-python-字符串格式化-format() 1.      简介 本文介绍了python 字符串格式化方法format()的常规使用方式. 2.      使用 2.1.    Accessi ...

  2. python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

  3. python3的格式化用法_浅析python3字符串格式化format()函数的简单用法

    format()函数 """ 测试 format()函数 """ def testformat(): # format()函数中有几个元素, ...

  4. format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

  5. 字符串格式化-format()

    字符串格式化-format() 转载请标明出处(http://blog.csdn.net/lis_12/article/details/52712994). 普通格式化方法 (%s%d)生成格式化的字 ...

  6. Python 基础之字符串操作,函数及格式化format

    一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你," strvar2 = "亲爱的姑凉" res = strvar1 + strvar2 ...

  7. python基础语法手册format-Python-输出格式化format()方法的基本使用(2)

    本文章主要讲述Python中输出函数里格式化输出<.format()>的使用方法. 任何人可对专栏内容进行任意复制和转载,且无需注明文章作者,出处,来源. 接上次的继续讲,没看过的可以去看 ...

  8. Python3之字符串格式化format函数详解(下)

    格式限定符 format通过丰富的的"格式限定符"(语法是 {}中带:号)对需要格式的内容完成更加详细的制定. 进制转换 我们可以再限定符中制定不同的字符对数字进行进制转换的格式化 ...

  9. oracle 格式化报表输出,perl的格式化(Format)报表输出实现代码

    perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图表输出.这个需要先声明格式.创建格式的文件句柄.然后由@,^ ...

  10. 详解MySQL字符串函数重复REPEAT()、反转REVERSE()、格式化FORMAT()、返回空格SPACE()函数用法(四)

    文章目录 一.重复函数REPEAT() 二.反转函数REVERSE() 三.格式化函数FORMAT() 四.反转函数SPACE() 前言:在实际的项目开发中有时会有对数据库某些字段去重等需求,这种场景 ...

最新文章

  1. 关于RAID与SCSI的一些基本概念(转)
  2. sdut 2135 数据结构实验之队列一:排队买饭
  3. 小TIPS:合拼gridview的header
  4. java permgen内存泄漏问题处理
  5. Fedora gedit 打开txt文件乱码的解决
  6. IDEA——常用快捷键
  7. Java OCR tesseract 图像智能字符识别技术
  8. gc.collect()==>python的强制垃圾收集机制(不建议使用强制回收,因为可能导致错误)
  9. mysql云上迁移_自建mysql 迁移到云上-问答-阿里云开发者社区-阿里云
  10. 为什么越来越多的人直接入住毛坯房?有什么优缺点?
  11. 数据挖掘比赛笔记总结
  12. 实现本地svn目录同步时,服务器的相应目录保持自动同步
  13. 单元测试的必要性 从bug修复 费用成本和时间成本综合考虑
  14. 最新丁林松老师全程讲解QT高级编程技术(完整)
  15. S7-300 PLC的一次系统故障
  16. HDL4SE:软件工程师学习Verilog语言(十一)
  17. Java中synchronization和Lock对比
  18. 利用饮食精准干预肠道微生物群
  19. 如何利用Flashback Query 恢复误删除的数据
  20. 维沃丫3手机微信无法连接服务器1.104,手机微信网络连接不可用?教你4个方法,轻松解决网络问题!...

热门文章

  1. 数据库服务器压缩文件,服务器数据库怎么压缩文件
  2. ios关于农历的一些操作
  3. CATTI 三级笔译考试准备
  4. POJ_1647_One-move checkmate
  5. 巧用 Prometheus 监控 Kubernetes 集群所有组件的证书
  6. 提高浏览器渲染页面速度
  7. STM32 用串口连接两个板子
  8. Juju-maas 环境搭建
  9. 前端定时任务1秒执行最小间隔,与后端1秒执行最小间隔
  10. 线程池自定义拒绝策略