Java字符串格式化(String.format)

今天碰到一道编程题,顺序打印出0-31的五位二进制数,不足五位的二进制数高位补零,我首先想到的是用整型包装了Integer.toBinaryString(int n)外套一次for循环输出32个二进制数,但是这样输出后的结果不太符合要求

for(int i=0;i<32;i++)
{
		String s=Integer.toBinaryString(i)
		System.out.println(s);
} 

在这里插入图片描述

后来了解到可以对字符串String使用format函数格式化,先上改过的代码和结果:

for(int i=0;i<32;i++)
{
		String s=Integer.toBinaryString(i);
		System.out.print(String.format("%0"+5+"d", Integer.parseInt(s))+"-");
}

在这里插入图片描述

**public static String format(String format,Object args)**函数是用于格式化字符串的文本工具,功能强大。
首先看jdk中对format函数的介绍:参数format是一个String ,它可能包含固定文本和一个或多个嵌入式格式说明符。
一般,字符和数字类型的格式说明符具有以下语法: %[argument_index ] [ f l a g s ] [ w i d t h ] [ . p r e c i s i o n ] c o n v e r s i o n a r g u m e n t i n d e x 是 一 个 十 进 制 整 数 , 表 示 参 数 在 参 数 列 表 中 的 位 置 。 第 一 个 参 数 为 “ 1 ][flags][width][.precision]conversion argument_index是一个十进制整数,表示参数在参数列表中的位置。 第一个参数为“ 1 ][flags][width][.precision]conversionargumentindex1 ”,第二个为“ 2$ ”等。 (用于指定对索引位置相应的参数进行格式化)
可选标志是修改输出格式的一组字符。 该组有效标志取决于转换。
可选的宽度是一个正十进制整数,表示要写入输出的最小字符数。
可选精度是通常用于限制字符数的非负十进制整数。 具体行为取决于转换。 所需的转换是一个字符,指示参数应如何格式化。 给定参数的一组有效转换取决于参数的数据类型。

具体对字符串、整数、浮点数、日期时间以及其他数据的格式化常用的占位符各字段,详见这个网站所整理的,非常清楚了。

http://www.cnblogs.com/fsjohnhuang/p/4094777.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值