按格式生成序号,如0001,0002...9999

/***
  * 按格式生成序号,如0001,0002...9999
  * @param idx 序号号码
  * @param scale 位数
  * @return 按位数格式化的序号,如0019
  */
 public static String buildSerial(int num,int scale){
  
  //格式化的位数小于等于0则抛出参数异常
  if(scale<=0)
   throw new IllegalArgumentException("scale:"+scale);
  
  //计算序列号的位数
  int count=0;
  int aIdx=num;
  while((aIdx=aIdx/10)>0)
   count++;
  count++;   
  
  //序列号的位数大于格式化位数,或者序列号的值小于等于0时,抛出参数异常
  if(count>scale || num<=0)
   throw new IllegalArgumentException("idx:"+num);
 
  //在序列前空出的位上添加0
  StringBuffer buf=new StringBuffer(scale);     
  for(int i=scale-count;--i>=0;)
   buf.append(0);

  //添加序列号值
  buf.append(num);
  return buf.toString();
 }

posted on 2006-07-17 00:53 hardson 阅读(1130) 评论(0)  编辑  收藏 所属分类: java基础


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年10月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜