java常用的格式化
日常工作中,总会遇到一些格式化显示的需求,下面做一些简单的整理
JDK中java.text下提供了格式化常用的工具类,具体结构见下图
时间日期格式化
DateFormat
采用DateFormat.get%Instance()方法进行实例化,提供format()进行格式化,可以讲Date和String两种类型的日期时间进行互转
例如
DateFormat.getInstance().format(Calender.getInstance().getTime());
这种方法可以获得当前时间的格式化,但是并未制定格式。DateFormat方法并不提供自定义格式。因此SimpleDateFormat是一种较好的选择
SimpleDateFormat
采用new的方式实例化,可以自定义格式化格式。
例如
String model = "yyyy/MM/dd hh:mm:ss";
sdf = new SimpleDateFormat(model);
Date date = Calendar.getInstance().getTime();
System.out.println(sdf.format(date));
常用的格式化字符
G:AD / BD
y:year
M:month
d:day
h/H:hour 12小时制/24小时制
m:minites
s:second
S:s/1000
数字格式化
NumberFormat
NuberFormat采用getXXXInstance获取格式化实例,可以 自动添加千分符,百分号,金额等格式化
getInstance() 返回当前默认语言环境的通用数值格式
getIntegerInstance() 返回当前默认语言环境的整数格式
getMaximumFractionDigits()返回数的小数部分所允许的最大位数
getCurrencyInstance() 返回当前默认语言环境的货币格式
NumberFormat不能自己指定格式化格式,可以使用它的子类进行实现。
DecimalFormat
使用方法
new DecimalFormat(pattern).format(123456.789);
重点pattern的用法,如何定义一个pattern.
#代表数字
.代表小数点
,分隔符
%百分号
\u2030千分符(键盘上无法直接打出)
E科学计数法
简单列举一些常用的pattern
千分符分割数字(Ps:千分符小数位不需要分割即123,456.0123456)#,###.##### 小数点后需要保留多少位看需要,对于0.12和12.0会显示成.12和12.。
改进的千分符分割数字:#,##0.0###
科学计数法:0.0##E0
格式化百分比:#,###.00%
格式化千分比:#,###.00\u2030
ChoiceFormat
使用方法:
double[] limits = {0,1,2,3};//限制条件
String[] formats = {"0~1","1~2","2~3","3~"}//格式化输出的结果;限制条件和格式化结果数量必须一致
ChoiceFormat cf = new ChoiceFormat(limits,formats);
cf.format(1.2);
注意:limits顺序无所谓,ChoiceFormat使用之前会进行排序
实现的功能类似if else,以上述limits为例,比较条件为0<=x<1,1<=x<2,2<=x<3,3<=x 然后在对应到formats对应位置的格式化输出位置的值
可以理解成这个样子
double x = 1.2;
String format ;
if(0<=x && x<1)
format = "0~1";
else if(1<=x && x<2)
format = "1~2";
else if(2<=x && x<3)
format = "2~3";
else if(3<=x)
format = "3~";
消息格式化
MessageFormat
作用:类似Log4J那种输出,自定义一些标准化输出信息,然后按照定义的规则输出内容.
用法:MessageFormat.format("logger {0,date} {0,time}:Hello {1},This {2} ", new Date(),"Tom","HanMeiMei");
java常用的格式化的更多相关文章
- Java常用jar包用途
Java常用jar包用途: USAGE INDEX JAR NAME USAGE 1 ASM asm-2.2.3.jar ASM字节码库 2 ASM asm-commons-2.2.3.jar ASM ...
- java常用的包的简介
java常用的包: java.lang:包含java语言的核心类,如String.math.system和thread类等,使用这个包下的类无需import导入,系统会自动导入这个包下的所有类. ...
- Java常用API
常用Java API 一. java.io.BufferedReader类(用于从文件中读入一段字符:所属套件:java.io) 1. 构造函数BufferedReader(java.io.FileR ...
- java常用API的总结(1)
本篇是对于这一段时间以来接触到的常用api的一些总结,便于以后的查阅.... 一.正则表达式 对于正则表达式,我的感觉就是当我们在做某些题的时候正则表达式会省去我们很多的时间,并且正则表达式的使用格式 ...
- Java 常用知识点
Java 常用知识点 1.日期格式化 SimpleDateFormat Date date=new Date(System.currentTimeMillis()) ; SimpleDateForma ...
- JAVA(三)JAVA常用类库/JAVA IO
成鹏致远 | lcw.cnblog.com |2014-02-01 JAVA常用类库 1.StringBuffer StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不 ...
- Eclipse Java常用快捷键(Eclipse Shortcut Keys for Java Top10)(转)
Eclipse Java常用快捷键(Eclipse Shortcut Keys for Java Top10) 0.背景Eclipse作为Java的OpenSource开发IDE,已经是开发人员进行J ...
- java常用英语单词
abstract (关键字) 抽象 ['.bstr.kt] access vt.访问,存取 ['.kses]'(n.入口,使用权) algorithm n.算法 ['.lg.riem] annotat ...
- JavaEE-实验一 Java常用工具类编程
该博客仅专为我的小伙伴提供参考而附加,没空加上代码具体解析,望各位谅解 1. 使用类String类的分割split 将字符串 “Solutions to selected exercises ca ...
随机推荐
- P1057 传球游戏 - 完美错解
//作者:pb2 博客:https://www.luogu.com.cn/blog/pb2/ 或 http://www.cnblogs.com/p2blog//博客新闻1:"WPS开机自启, ...
- LM NTML NET-NTLM2理解及hash破解
LM Windows Vista / Server 2008已经默认关闭,在老版本可以遇到,但根据windwos的向下兼容性,可以通过组策略启用它(https://support.microsoft. ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 定时任务最佳实战(三)
上一篇(https://www.cnblogs.com/meowv/p/12974439.html)完成了全网各大平台的热点新闻数据的抓取,本篇继续围绕抓取完成后的操作做一个提醒.当每次抓取完数据后, ...
- VNC CentOS 7 远程工具,VNC CentOS 7 远程工具推荐!
IIS7服务器管理工具是一款能够在Windows和Linux系统下进行VNC使用的软件!它能够成为VNC的客户端,帮助操作者完成VNC的相关命令!同时,它还能够作为FTP的操作客户端,实现FTP的传输 ...
- Java 第十一届 蓝桥杯 省模拟赛 螺旋矩阵
螺旋矩阵 题目 问题描述 对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵. 例如,一个 4 行 5 列的螺旋矩阵如下: 1 2 3 4 5 ...
- Java实现 LeetCode 680 验证回文字符串 Ⅱ(暴力)
680. 验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: " ...
- Java实现 蓝桥杯 算法提高 套正方形
试题 算法提高 套正方形 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给定正方形边长width,如图按规律输出层层嵌套的正方形图形. 注意,为让选手方便观看,下图和样例输出均使用 ...
- Java实现第八届蓝桥杯拉马车
拉马车 题目描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的 ...
- Java实现第八届蓝桥杯承压计算
承压计算 题目描述 X星球的高科技实验室中整齐地堆放着某批珍贵金属原料. 每块金属原料的外形.尺寸完全一致,但重量不同. 金属材料被严格地堆放成金字塔形. 7 5 8 7 8 8 9 2 7 2 8 ...
- JavaScript使用for循环和splice删除数组指定元素的注意点
在JavaScript里可以结合for循环和splice来删除数组指定的元素.但是要注意删除元素后,数组索引会发生改变 示例 var arr = ["a","b" ...