- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?
JAVA字符串格式化-String.format()的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
显示不同转换符实现不同数据类型到字符串的转换,如图所示。
转? 换? 符 说??? 明? 示??? 例 %s 字符串类型 mingrisoft %c 字符类型 m %b 布尔类型 true %d 整数类型(十进制) 99 %x 整数类型(十六进制) FF %o 整数类型(八进制) 77 %f 浮点类型 99.99 %a 十六进制浮点类型 FF.35AE %e 指数类型 9.38e+5 %g 通用浮点类型(f和e类型中较短的) ? %h 散列码 ? %% 百分比类型 % %n 换行符 ? %tx 日期与时间类型(x代表不同的日期与时间转换符 ? 测试用例
[java]?view plaincopy
public?static?void?main(String[]?args)?{??
????String?str=null;??
????str=String.format(Hi,%s,?王力);??
????System.out.println(str);??
????str=String.format(Hi,%s:%s.%s,?王南,王力,王张);????????????
????System.out.println(str);???????????????????????????
????System.out.printf(字母a的大写是:%c?%n,?A);??
????System.out.printf(37的结果是:%b?%n,?37);??
????System.out.printf(100的一半是:%d?%n,?100/2);??
????System.out.printf(100的16进制数是:%x?%n,?100);??
????System.out.printf(100的8进制数是:%o?%n,?100);??
????System.out.printf(50元的书打8.5折扣是:%f?元%n,?50*0.85);??
????System.out.printf(上面价格的16进制数是:%a?%n,?50*0.85);??
????System.out.printf(上面价格的指数表示:%e?%n,?50*0.85);??
????System.out.printf(上面价格的指数和浮点数结果的长度较短的是:%g?%n,?50*0.85);??
????System.out.printf(上面的折扣是%d%%?%n,?85);??
????System.out.printf(字母A的散列码是:%h?%n,?A);??
}??
输出结果
[plain]?view plaincopy
Hi,王力??
Hi,王南:王力.王张??
字母a的大写是:A???
37的结果是:false???
100的一半是:50???
100的16进制数是:64???
100的8进制数是:144???
50元的书打8.5折扣是:42.500000?元??
上面价格的16进制数是:0x1.54p5???
上面价格的指数表示:4.250000e+01???
上面价格的指数和浮点数结果的长度较短的是:42.5000???
上面的折扣是85%???
字母A的散列码是:41???
搭配转换符的标志,如图所示。
标??? 志 说??? 明 示??? 例 结??? 果 + 为正数或者负数添加符号 (%+d,15) +15 ? 左对齐 (%-5d,15) |15?? | 0 数字前面补0 (%04d, 99) 0099 空格 在整数之前添加指定数量的空格 (% 4d, 99) |? 99| , 以“,”对数字分组 (%,f, 9999.99) 9,999.990000 ( 使用括号包含负数 (%(f, -99.99) (99.990000) # 如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0 (%#x, 99)
(%#o, 99) 0x63
0143 ? 格式化前一个转换符所描述的参数 (%f和%3.2f, 99.45) 99.4
文档评论(0)