jave基础 JAVA String.format的使用方法
好酷屋教程网小编为您收集和整理了jave基础 JAVA String.format的使用方法的相关教程:在JDK1.5中,String类增加了一个非常有用的静态函数format(Stringformat,Objece...argues),可以将各类数据格式化为字符串并输出。其中format参数指定
在JDK1.5中,String类增加了一个非常有用的静态函数format(String format, Objece... argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一系列等 待被格式化的对象。该函数对c语言中printf函数的用法进行了一定的模仿,因此有c语言基础的人学起来会轻松许多。下面我们着重讨论一下format 参数的格式及含义。
format参数中可以包含不需要转化的字符串,这些字符串是你写什么,最终就输出什么。同时还包含一些特殊格式的内容,来指定将哪个对象来转换,以及转 换成什么形式。这种特殊的格式通通以%index$开头,index从1开始取值,表示将第index个参数拿进来进行格式化。这一点比c语言要强一点, c语言只能按照参数的顺序依次格式化,而java可以选择第n个参数来格式化。由于该函数可以对任意一个对象进行格式化,不同的对象适用的参数也不同,因 此我们下面分类来讨论。
1.对整数进行格式化:%[index$][标识][最小宽度]转换方式
我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字。我们来看看剩下2个部分的含义吧:
标识:
'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
'#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
'+' 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
' ' 正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
'0' 结果将用零来填充
',' 只适用于10进制,每3位数字之间用“,”分隔
'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)
转换方式:
d-十进制 o-八进制 x或X-十六进制
上面的说明过于枯燥,我们来看几个具体的例子。需要特别注意的一点是:大部分标识字符可以同时使用。
System.out.println(String.format("%1$,09d", -3123));
System.out.println(String.format("%1$9d", -31));
System.out.println(String.format("%1$-9d", -31));
System.out.println(String.format("%1$(9d", -31));
System.out.println(String.format("%1$#9x", 5689));
//结果为:
//-0003,123
// -31
//-31
// (31)
// 0x1639
2.对浮点数进行格式化:%[index$][标识][最少宽度][.精度]转换方式
我们可以看到,浮点数的转换多了一个“精度”选项,可以控制小数点后面的位数。
标识:
'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
'+' 结果总是包括一个符号
' ' 正值前加空格,负值前加负号
'0' 结果将用零来填充
',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)
转换方式:
'e', 'E' -- 结果被格式化为用计算机科学记数法表示的十进制数
'f' -- 结果被格式化为十进制普通表示方式
'g', 'G' -- 根据具体情况,自动选择用普通表示方式还是科学计数法方式
'a', 'A' -- 结果被格式化为带有效位数和指数的十六进制浮点数
3.对字符进行格式化:
对字符进行格式化是非常简单的,c表示字符,标识中'-'表示左对齐,其他就没什么了。
4.对百分比符号进行格式化:
看了上面的说明,大家会发现百分比符号“%”是特殊格式的一个前缀。那么我们要输入一个百分比符号该怎么办呢?肯定是需要转义字符的,但是要注意的是,在这里转义字符不是“\”,而是“%”。换句话说,下面这条语句可以输出一个“12%”:
System.out.println(String.format("%1$d%%", 12));
5.取得平台独立的行分隔符:
System.getProperty("line.separator")可以取得平台独立的行分隔符,但是用在format中间未免显得过于烦琐了。于是format函数自带了一个平台独立的行分隔符那就是String.format("%n")。
6.对日期类型进行格式化:
以下日期和时间转换的后缀字符是为 't' 和 'T' 转换定义的。这些类型相似于但不完全等同于那些由 GNU date 和 POSIX strftime(3c) 定义的类型。提供其他转换类型是为了访问特定于 Java 的功能(如将 'L' 用作秒中的毫秒)。
以下转换字符用来格式化时间:
'H' 24 小时制的小时,被格式化为必要时带前导零的两位数,即 00 - 23。
'I' 12 小时制的小时,被格式化为必要时带前导零的两位数,即 01 - 12。
'k' 24 小时制的小时,即 0 - 23。
'l' 12 小时制的小时,即 1 - 12。
'M' 小时中的分钟,被格式化为必要时带前导零的两位数,即 00 - 59。
'S' 分钟中的秒,被格式化为必要时带前导零的两位数,即 00 - 60 ("60" 是支持闰秒所需的一个特殊值)。
以上就是好酷屋教程网小编为您收集和整理的标签,简介,网站,Java相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shenghuo/641e59a48c1b13e1ad042481.html
相关推荐
热门专题
喝酒后喝咖啡好吗
历来有美酒加咖啡的说法,美酒加咖啡听上去意境很美好,很多人也有这个习惯,在喝完酒后,来一杯香浓醇厚的咖啡解酒提神,喝酒后喝咖啡好吗?喝酒后喝咖啡不好美酒加咖啡不仅对身体没有好处,起不到醒酒提神的作用,白糖为什么能溶解鱼刺 用什么可以溶解鱼刺
鱼是生活中常见的常见的食物,很多人都喜欢吃吧,吃鱼的时候稍不注意就被鱼刺卡住了怎么办呢?听说用白糖可以帮助溶解鱼刺,这是为什么呢?白糖为什么能溶解鱼刺白糖没有溶解鱼刺的作用。白糖是生活中常见的食物,很葫芦岛财政局每月拨款时间几号
葫芦岛财政局每月拨款时间为15号。通过查询官方网站显示,财政局每月15号左右对事业单位拔款。具体消息可关注官方网站,获得第一手权威信息。财政局负责地方的财政工作,贯彻执行财务制度,按照政策组织财政收入全新胜达怎么下载酷狗
全新胜达可通过U盘、SD卡等设备里下好音乐,插入车上的相应接口,直接进行下载安装即可。建议使用系统自带的播放器,另外安装可能会出现不兼容的情况。全新胜达是北京现代旗下的高端中型豪华SUV,配备2.0T腐竹不能和什么一起吃
腐竹由于味道鲜美,营养丰富受到很多人的喜爱,所以也出现了各种腐竹的吃法,但是腐竹一旦没有搭配吃好就会拉肚子,那么腐竹不能和什么一起吃呢?腐竹不能和什么一起吃1、蜂蜜腐竹跟蜂蜜一起搭配,会造成腹泻,有损如何将多个类目放在一个海报里
用DW软件或者用PS软件做成切片连接,即可将多个类目放在一个海报里。海报这一名称,最早起源于上海,是一种宣传方式。旧时,海报是用于戏剧、电影等演出,活动的招帖。上海的人通常把职业性的戏剧演出称为海,而广州行间网络科技有限公司(关于广州行间网络科技有限公司介绍)
导读大家好,小升来为大家解答以上的问题。广州行间网络科技有限公司,关于广州行间网络科技有限公司介绍这个很多人还不知道,现在让我们一起来看...大家好,小升来为大家解答以上的问题。广州行间网络科技有限公金纹石有没有蜡质光泽
金纹石有蜡质光泽,金纹石主要是黑底(也有褐色底)以金黄色图纹为特征的图纹石,金纹石是奇石界的后起之秀,金纹石一般都质地坚硬,其水冲度高,石体光洁平滑细腻,部分玉化程度高。莫氏硬度在5到8度,金色纹路和白糖和鸡蛋能一起吃吗 白糖和鸡蛋一起吃有什么危害
鸡蛋是生活中很常见的食物,白糖是生活中常见的调味品,白糖和鸡蛋能一起吃吗?下面一起来看看吧!白糖和鸡蛋能一起吃吗建议不要。糖水荷包蛋是很多人日常喜欢吃的食物,夏天到了,不少人会选择白糖作为首选糖类,但界首市姜楼有拆迁计划吗
界首市姜楼有拆迁计划,姜楼村在颖南新区范围之内,属颖南新区控制区、建设区,村庄规划为拆迁区,是一定要拆的。界首,安徽省辖县级市,由阜阳市代管,位于安徽省西北部,别名界沟、小上海。南接临泉县、阜阳,东邻