,,JAVA字符串格式化-String.format()的使用

,,JAVA字符串格式化-String.format()的使用

本文主要介绍JAVA字符串格式-String.format()的使用方法,有一定的参考价值,有需要的可以看看。

本文介绍JAVA字符串格式-String.format()的使用,如下:

常规类型的格式化

string类的format()方法用于创建格式化字符串和连接多个String对象。熟悉C语言的同学应该还记得C语言的sprintf()方法。他们之间有相似之处。format()方法有两种重载形式。

格式(字符串格式,对象.args) New string使用本地语言环境,并制定字符串格式和参数以生成格式化的新字符串。

格式(区域设置,字符串格式,对象.args)使用指定的语言环境来制定字符串格式和参数,以生成格式化的字符串。

显示不同的转换器将不同的数据类型转换为字符串,如图。

改变性格

朔明

例子

%s

字符串类型

“mingrisoft”

%c

字符类型

' m '

%b

布尔型

真实的

%d

整数类型(十进制)

99

%x

整数类型(十六进制)

消防

%o

整数类型(八进制)

77

%f

浮点型

99.99

%a

十六进制浮点类型

FF.35AE

%e

指数型

9.38e 5

%g

通用浮点型(F和E类型中较短的一种)

%h

散列码

%%

百分比类型

%

%n

换行符

%tx

不同于日期时间类型(X代表不同的日期时间转换器

判例案件

公共静态void main(String[] args) {

String str=null

Str=Stringformat('Hi,%s ','王力');

system outprintln(str);

Str=Stringformat('嗨,%s:%s%s ','王楠','王力','张旺');

system outprintln(str);

Systemoutprintf('字母A的大写是:%c %n ',' A ');

outprintf(' 37的结果是:%b %n ',37);

systemprintf(' 100的一半是:%d %n ',100/2);

systemprintf(' 100的十六进制数是:%x %n ',100);

systemprintf(' 100的八进制数是:%o %n ',100);

systemprintf(' 50元的书打九五折是%f元%n ',50 * 85);

Systemoutprintf('以上价格的十六进制数为:%a %n ',50 * 85);

Systemoutprintf('以上价格的指数表示:%e %n ',50 * 85);

Systemoutprintf('以上价格的指数和浮点数结果长度较短:%g %n ',50 * 85);

Systemoutprintf('上面的折扣是% d %d%% %n ',85);

Systemoutprintf('字母A的哈希码是:%h %n ',' A ');

}

输出结果

嗨,王丽

嗨,王楠:王张

A的大写字母是:A。

37的结果是:假

100的一半是50

00的十六进制数是:64。

00的八进制数是:144。

50元的书打九五折就是50万。

以上价格的十六进制数为:0x54p5

上述价格的指数表明:250000e 01

以上价格的指数和浮点数结果长度较短:5000。

以上折扣为85%

字母A的散列码是:41

搭配字符的符号,如图所示。

标记

朔明

例子

结果

将符号加到正数或负数上。

(“% d”,15)

15

-

左对齐

(' %-5d ',15)

|15|

0

数字以0开头。

('d',99年)

0099

空白的

在整数前添加指定数量的空格。

(“% 4d”,99)

| 99|

,

用“,”分组编号

(' %,f ',9999.99)

9,999.990000

使用括号包含负数。

(' %(f ',-99.99)

(99.990000)

#

如果是浮点数,则包含小数点,如果是十六进制或八进制,则加0x或0。

(' %#x ',99)

(' %#o ',99)

格式化前一个转换器描述的参数。

(' %f和%3.2f ',99.45)

99.450000和99.45

$

格式化参数索引

(' % 1d,% 2s ',99,' abc ')

99、abc

判例案件

公共静态void main(String[] args) {

String str=null

//$使用

Str=Stringformat('使用格式参数$: %1$d,%2$s ',99,' ABC ');

system outprintln(str);

//使用

Systemoutprintf('显示正数和负数的符号:% d和%d%n ',99,-99);

//补充o供使用

Systemoutprintf('最好的数字是:D% n ',7);

//空间使用

Systemoutprintf('Tab键的Tab效果为:% 8d%n ',7);

//使用

Systemoutprintf('整数分组的效果是:%,d% n ',998997);

//空格和小数点后的数字

Systemoutprintf('一本书的价格是:% 5f元%n ',8);

}

输出结果

使用格式$: 99,abc

显示正数和负数的符号:99和-99

最牛的数字是:007

Tab的作用是:7

整数分组的效果是:9,989,997。

一本书的价格是:8万元

日期和事件字符串格式化

经常需要在程序界面中显示时间和日期,但其显示格式往往不尽如人意。通过各种算法得到理想的日期时间格式需要大量的代码。还有一个字符串格式的%tx转换器,不详细描述。它专门用于格式化日期和时间。%tx转换器中的x表示另一个处理日期和时间格式的转换器,它们的组合可以将日期和时间格式化成各种格式。

常见日期和时间组合的格式,如图所示。

改变性格

朔明

例子

c

包括所有日期和时间信息。

中国中部时间2007年10月27日星期六14: 21: 20

F

年月日格式

2007-10-27

D

“月/日/年”格式

10/27/07

r

“HH:MM:SS PM”格式(12小时制)

下午2时25分51秒

T

“时:分:秒”格式(24小时制)

14:28:16

稀有

“时:分”格式(24小时制)

下午两点二十八分

判例案件

公共静态void main(String[] args) {

Date Date=new Date();

//c的使用

Systemoutprintf('所有日期和时间信息:%tc%n ',date);

//f的使用

Systemoutprintf('年-月-日格式:%tF%n ',日期);

//d的使用

Systemoutprintf('月/日/年格式:%tD%n ',日期);

//r的使用

Outprintf ('hh: mm: sspm格式(12小时制):%tr%n ',date);

//t的使用

Outprintf ('hh: mm: ss格式(24小时制):%tT%n ',日期);

//R的使用

Outprintf ('hh: mm格式(24小时制):%tR ',日期);

}

输出结果

完整的日期和时间信息:美国中部时间2012年9月10日,星期一,10: 43: 36

年月日格式:2012年9月10日

月/日/年格式:2012年9月10日

时:分:秒下午格式(12小时制):上午10时43分36秒

时:分:秒格式(24小时制):10时43分36秒

HH:MM格式(24小时制):10:43

定义日期格式的转换器使日期能够通过指定的转换器生成新字符串。这些日期转换器如图所示。

公共静态void main(String[] args) {

Date Date=new Date();

//b使用,月份的短名称

String=字符串格式(locale us,'英文月份的缩写:%tb ',date);

system outprintln(str);

Systemoutprintf('本地月份的简称:%tb%n ',date);

//B使用,月份的全名

Str=Stringformat(LocaleUS,'英文月份全称:%tB ',date);

system outprintln(str);

Systemoutprintf('本地月份的全名:%tB%n ',日期);

//使用a,星期的缩写

Str=Stringformat(LocaleUS,'英文week的缩写:%ta ',date);

system outprintln(str);

//使用一个,星期的全名

Systemoutprintf('本地周的简称:%tA%n ',date);

//两年前使用c语言

Systemoutprintf('年份的前两位(少于两位以0开头):% tc% n ',日期);

//y的使用,后两位数字。

system outprintf(' year '的后两位(少于两位的以0开头):% ty% n ',date);

//使用j,一年中的天数

Systemoutprintf('一年中的天数(即一年中的第几天):%tj%n ',date);

//m,month的用法

Systemoutprintf('两位数的月份(少于两位数的以0开头):% tm% n ',date);

//使用d,日(两位数,不足以补零)

Systemoutprintf('两位数的日(少于两位数的以0开头):% td% n ',日期);

//使用e,day(一位数不填零)

Systemoutprintf(一个月中的第几天(前面没有0):% te),date);

}

输出结果

月份的英文缩写:Sep

当地简称:九月。

每月全名:九月

每月全名:九月

星期的英文缩写:Mon

本地周的简称:星期一。

年份的前两位数(小于两位数的前面为0):20

年份的后两位数(小于两位数的前面为0):12

一年中的天数(即一年中的某一天):254

两位数的月份(小于两位数的前面为0):09

两位数的日期(小于两位数的前面为0):10

一个月中的某一天(前面没有0):10

与日期格式转换器相比,时间格式转换器更加精确。它可以将时间格式化为小时、分钟、秒,甚至小时和毫秒。用于格式化时间字符串的转换器如图所示。

改变性格

朔明

例子

H

两位数的24小时制(小于2位的数字前为0)

15

12小时制中的2位数小时(在少于2位数之前添加0)

03

k

24小时制中的两位数小时(前面没有0)

15

l

12小时制中的两位数小时(前面没有0)

M

两位数的分钟(0加在少于两位数之前)

03

S

两位数的秒(少于两位数以0开头)

09

L

3位数的毫秒数(少于3位数以0开头)

015

普通

9位数的毫秒数(少于9位数以0开头)

562000000

p

小写字母的上午或下午标记

中国人:下午好。

英语:下午

z

RFC822时区相对于GMT的偏移量

0800

Z

时区缩写字符串

中央标准时间

s

自1970-1-1 00:00:00以来的秒数

1193468128

Q

自1970-1-1 00:00:00以来的毫秒数

1193468128984

试验码

公共静态void main(String[] args) {

Date Date=new Date();

//H的使用

Systemprintf ('2位24小时制小时(0加在少于2位的数字之前):% th% n ',日期);

//I的使用

system printf(' 12小时制中的2位数小时(0加在不足2位数之前):% ti% n ',日期);

//k的使用

system printf(' 24小时制中的两位数小时(前面没有0):% tk % n ',日期);

//l的使用

system printf(' 12小时制中的两位数小时(前面没有0):% TL % n ',日期);

//M的使用

Systemprintf ('2位数分钟(少于2位数以0开头):%tM%n ',日期);

//的使用

Systemprintf ('2位数秒(少于2位数以0开头):%tS%n ',日期);

//L的使用

system printf(' 3位数的毫秒数(不足3位数以0开头):%tL%n ',日期);

//N的使用

systemprintf(' 9位数的毫秒数(不足9位数以0开头):%tN%n ',date);

//p的使用

String=字符串格式(locale us,'小写字母的早晨或下午标记(英语):%tp ',date);

system outprintln(str);

Systemoutprintf('小写字母的上午或下午标记(中间):%tp%n ',日期);

//z的使用

Systemoutprintf('从GMT的RFC822时区的偏移量:%tz%n ',日期);

//Z的使用

Systemoutprintf('时区缩写字符串:%tZ%n ',date);

//的使用

Outprintf(自' 1970-1-1 00: 00: 00: 00: %ts%n ',date以来的秒数);

//Q的使用

Outprintf(自' 1970-1-1 00: 00: 00: 00: %tQ%n ',date以来的毫秒数);

}

输出结果

两位数的24小时制(小于2位的数字前为0):11

2位数12小时制的小时数(小于2位数前的0):11

24小时制中的两位数小时(前面没有0):11

12小时制中的两位数小时(前面没有0):11

两位数的分钟(小于2位的数字前为0):03

2位数的秒(小于2位数的前面为0):52

3位数的毫秒数(少于3位数前加0):773

9位数的毫秒数(少于9位数以0开头):77300000

小写字母的上午或下午标记(英语):am

上午或下午用小写字母标记(中间):上午

与RFC822时区的时差:GMT: 0800

时区缩写字符串:CST

从1970-1-1 00:00:00开始的秒数是1347246232。

自1970-1-1 00:00:00:1347246232773以来的毫秒数

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用js实现数据格式化命令,使用js实现数据格式化的方法
  • 使用js实现数据格式化命令,使用js实现数据格式化的方法,使用js实现数据格式化
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数
  • sql 时间格式化函数怎么用,sqlserver时间格式化函数,SQL 时间格式化函数
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令
  • Linux磁盘格式化命令,linux格式化整个磁盘的命令,Linux磁盘格式化命令详解
  • js获取当前日期并格式化,js获取当前时间年月日并输出
  • js获取当前日期并格式化,js获取当前时间年月日并输出,JS获取当前时间的年月日时分秒及时间的格式化的方法
  • js格式化时间的方法是什么,js 格式化时间
  • js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法
  • js格式化时间格式,js格式化时间字符串
  • js格式化时间格式,js格式化时间字符串,JS格式化时间的几种方法总结
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么
  • js中时间格式化的几种方法有哪些,js中时间格式化的几种方法是什么,js中时间格式化的几种方法
  • windows命令行格式化硬盘,格式化将清除磁盘中的所有文件
  • 留言与评论(共有 条评论)
       
    验证码: