格式化————format
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相关推荐
- python0b1010_笔记-python-字符串格式化-format()
笔记-python-字符串格式化-format() 1. 简介 本文介绍了python 字符串格式化方法format()的常规使用方式. 2. 使用 2.1. Accessi ...
- python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)
Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...
- python3的格式化用法_浅析python3字符串格式化format()函数的简单用法
format()函数 """ 测试 format()函数 """ def testformat(): # format()函数中有几个元素, ...
- format函数_Python学习教程:Python3之字符串格式化format函数详解(上)
Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...
- 字符串格式化-format()
字符串格式化-format() 转载请标明出处(http://blog.csdn.net/lis_12/article/details/52712994). 普通格式化方法 (%s%d)生成格式化的字 ...
- Python 基础之字符串操作,函数及格式化format
一.字符串的相关操作 1.字符串的拼接 + strvar1 = "我爱你," strvar2 = "亲爱的姑凉" res = strvar1 + strvar2 ...
- python基础语法手册format-Python-输出格式化format()方法的基本使用(2)
本文章主要讲述Python中输出函数里格式化输出<.format()>的使用方法. 任何人可对专栏内容进行任意复制和转载,且无需注明文章作者,出处,来源. 接上次的继续讲,没看过的可以去看 ...
- Python3之字符串格式化format函数详解(下)
格式限定符 format通过丰富的的"格式限定符"(语法是 {}中带:号)对需要格式的内容完成更加详细的制定. 进制转换 我们可以再限定符中制定不同的字符对数字进行进制转换的格式化 ...
- oracle 格式化报表输出,perl的格式化(Format)报表输出实现代码
perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图表输出.这个需要先声明格式.创建格式的文件句柄.然后由@,^ ...
- 详解MySQL字符串函数重复REPEAT()、反转REVERSE()、格式化FORMAT()、返回空格SPACE()函数用法(四)
文章目录 一.重复函数REPEAT() 二.反转函数REVERSE() 三.格式化函数FORMAT() 四.反转函数SPACE() 前言:在实际的项目开发中有时会有对数据库某些字段去重等需求,这种场景 ...
最新文章
- 关于RAID与SCSI的一些基本概念(转)
- sdut 2135 数据结构实验之队列一:排队买饭
- 小TIPS:合拼gridview的header
- java permgen内存泄漏问题处理
- Fedora gedit 打开txt文件乱码的解决
- IDEA——常用快捷键
- Java OCR tesseract 图像智能字符识别技术
- gc.collect()==>python的强制垃圾收集机制(不建议使用强制回收,因为可能导致错误)
- mysql云上迁移_自建mysql 迁移到云上-问答-阿里云开发者社区-阿里云
- 为什么越来越多的人直接入住毛坯房?有什么优缺点?
- 数据挖掘比赛笔记总结
- 实现本地svn目录同步时,服务器的相应目录保持自动同步
- 单元测试的必要性 从bug修复 费用成本和时间成本综合考虑
- 最新丁林松老师全程讲解QT高级编程技术(完整)
- S7-300 PLC的一次系统故障
- HDL4SE:软件工程师学习Verilog语言(十一)
- Java中synchronization和Lock对比
- 利用饮食精准干预肠道微生物群
- 如何利用Flashback Query 恢复误删除的数据
- 维沃丫3手机微信无法连接服务器1.104,手机微信网络连接不可用?教你4个方法,轻松解决网络问题!...