黑马程序员技术交流社区
标题:
关于格式化字符
[打印本页]
作者:
丁岩
时间:
2012-9-29 15:02
标题:
关于格式化字符
package Mych1;
import java.text.*;
public class StringMe
{
public static void main(String[]args)
{
//System.out.println(new Time(12,33,45).toString());
System.out.println(new Time(13,33,45).show());
}
}
class Time
{
public int hour;
public int minute;
public int seconds;
public Time(int hour,int minute,int seconds)
{
this.hour=hour;
this.minute=minute;
this.seconds=seconds;
}
public String show()
{
DecimalFormat df=new DecimalFormat("00");//这个00是干什么的啊,看API没看明白,这个参数
String str=df.format(hour%12)+":"+df.format(minute)+":"+df.format(seconds);
return str;
}
}
复制代码
求助这个java.text.DecimalFormat的用法,真心有点没看懂,那个00是什么意思。上面代码输出的结果是:01:33:45,如果是DecimalFormat df=new DecimalFormat("11");就变成了111:1133:1145,我瞬间迷茫了。。。这是什么原理啊
作者:
尤洋
时间:
2012-9-29 21:11
DecimalFormat(String pattern)
使用给定的模式和默认语言环境的符号创建一个 DecimalFormat。
我猜测 原理应该是类似于 毕姥爷 讲正则校验 ip地址时的情况。
str1=str1.replaceAll("(\\d+)","00$1"); 然后再str1=str1.replaceAll("0*(\\d+)","$1"); 这样就会出现 01:03:04这样的格式
如果是“11”的话 由于不为0最后在第二步时没有去除掉11,所以保留下来
变成了111:1133:1145
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2