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 ...
随机推荐
- MySql Oracle SqlServer 数据库的数据类型列表
Oracle数据类型 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性. 二.标量(SCA ...
- [06]HTML基础之表单标签
1. <form>标签 表单容器,指定method属性和action属性是个良好的习惯. <form methor="POST" action="htt ...
- Rocket - diplomacy - LazyModule的组织方式
https://mp.weixin.qq.com/s/vaDUekxkFkOJLmzg5jCngw 简单介绍LazyModule/LazyModuleImp的组织方式. 1. LazyModule L ...
- Rocket - decode - 最小项与最大项
https://mp.weixin.qq.com/s/XrBh9Kapj01HdvBi5MkbgA 介绍布尔代数最小项与最大项相关概念,以及Term类的实现. 参考链接: https:// ...
- Java实现 LeetCode 788 旋转数字(暴力)
788. 旋转数字 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还 ...
- Java实现 LeetCode 466 统计重复个数
466. 统计重复个数 定义由 n 个连接的字符串 s 组成字符串 S,即 S = [s,n].例如,["abc", 3]="abcabcabc". 另一方面, ...
- Java实现蓝桥杯VIP 算法训练 P0502
试题 算法训练 P0502 资源限制 时间限制:1.0s 内存限制:256.0MB 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后 ...
- Java实现 LeetCode 50 Pow(x,n)
50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, ...
- Java中环境变量PATH与CLASSPATH的区别
在安装JDK时需要添加环境变量,经常使用的环境变量有两个: PATH与CLASSPATH 下面总结一下环境变量的作用. PATH是系统用来指定可执行文件的完整路径.当在CMD中执行命令时,如果执行的可 ...
- 数据结构:用实例分析ArrayList与LinkedList的读写性能
目录 背景 ArrayList LinkedList 实例分析 1.增加数据 2.插入数据 3.遍历数据 3.1.LinkedList遍历改进 总结 背景 ArrayList与LinkedList是J ...