java中format

JAVA中format的使用(常用1,5)

format方法用于将对象格式化为指定模式的字符串
parseObject方法用于将字符串重新解析为对象
Format的直接子类包括DateFormat、NumberFormat和MessageFormat。下面一一进行介绍

1. java 中 SimpleDateFormat

下面展示一些 内联代码片

SimpleDateFormat format=new SimpleDateFormat("MM-dd HH:mm:ss E");
String time=format.format(new Date());
System.out.println("当前时间: "+time);
项目Value
G年代标志符
y
M
d
H时 在一天中 (0~23)
m
s
S毫秒
E星期
D一年中的第几天
F一月中第几个星期几
w一年中第几个星期
W一月中第几个星期
a上午 / 下午 标记符
k时 在一天中 (1~24)
K时 在上午或下午 (0~11)
z时区
   SimpleDateFormat sdf  =  new SimpleDateFormat("/yyyy/MM/dd");
   String formdata =  sdf.format(new Date());
   //============================输出结果为--/2020/10/24

2. java 中 DateFormat(不怎么使用SimpleDateFormat 是)

DateFormat format = DateFormat.getDateInstance(DateFormat.DEFAULT,Locale.CANADA);
 //============================输出结果为加拿大时间--24-Oct-2020

3.JAVA 中 NumberFormat(转化为整数(四舍五入)-百分数-)

NumberFormat :根据当前语言环境格式化数字

1.getCurrencyInstance()方法 : 根据当前语言环境获取货币数值格式
  NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CANADA);
  System.out.println(format.format(439.6));
 输出结果为: $439.60
2getInstance()和getNumberInstance()方法: 都会获取到常规数值格式
 输出结果为: 439.6
3.getIntegerInstance()方法获取常规整数值格式,如果需要格式化的数值为小数,则会将数值四舍五入为最接近的整数
 输出结果为: 440
4.getPercentInstance()方法获取百分比的数值格式
 输出结果为: 43,960%

–NumberFormat有两个具体实现子类DecimalFormat和ChoiceFormat

符号含义
0表示一个数字,被格式化数值不够的位数会补0
电脑$1600
手机$12
导管$1
#表示一个数字,被格式化数值不够的位数会忽略
.小数点分隔符的占位符
,分组分隔符的占位符
-缺省负数前缀
%将数值乘以100并显示为百分数
\u2030将数值乘以1000并显示为千分数
  DecimalFormat format1 = new DecimalFormat("#\u2030");
  System.out.println(format1.format(0.3345));//输出334‰
DecimalFormat format2 = new DecimalFormat("##.##");
System.out.println(format2.format(12.345));//输出12.35
DecimalFormat format3 = new DecimalFormat("0000.00");
System.out.println(format3.format(12.345));//输出0012.35
DecimalFormat format4 = new DecimalFormat("#.##%");
System.out.println(format4.format(12.345));//输出1234.5%

4.MessageFormat 占不介绍

5.String类中的format方法

可用标识符:

标识含义
-在最小宽度内左对齐,不可与0标识一起使用
0若内容长度不足最小宽度,则在左边用0来填充
#对8进制和16进制,8进制前添加一个0,16进制前添加0x
+结果总包含一个+或-号
空格正数前加空格,负数前加-号
,只用与十进制,每3位数字间用,分隔
(若结果为负数,则用括号括住,且不显示符号

可用转换符:

标识含义
b布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false
n平台独立的换行符, 也可通过System.getProperty(“line.separator”)获取
f浮点数型(十进制)。显示9位有效数字,且会进行四舍五入。如99.99
a浮点数型(十六进制)
e指数类型。如9.38e+5
g浮点数型(比%f,%a长度短些,显示6位有效数字,且会进行四舍五入)
s字符串类型
c字符类型
String result1 = String.format("小明今年%d岁,他住在%s,他的月工资有%.2f", 25,"北京市",6633.435);
System.out.println(result1);//输出:小明今年25岁,他住在北京市,他的月工资有6633.44
/*****************************************************/
double num = 123.4567899;
String result2 = String.format("%e", num);
System.out.println(result2);//输出:1.234568e+02

Format中的子类都是不同步,所以需要注意线程安全问题

参考链接: https://www.cnblogs.com/jobs-lgy/p/9050727.html.

  • 10
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值