📄 formatserialnumber.java
字号:
package com.common.util;
/**
* 按格式生成序号,如0001,0002...9999
* @author Administrator
*
*/
public class FormatSerialNumber {
/***
* 生成1-30位的序号
* @param idx 序号号码
* @param scale 位数
* @return 按位数格式化的序号,如0019
*/
public static String buildSerial(int idx,int scale){
//格式化的位数小于等于0或大于30则抛出参数异常
if(scale<=0 || scale>30)
throw new IllegalArgumentException("scale:"+scale);
//计算要格式化的位数+1位的最小值
int no=1;
for(int i=scale;--i>=0;){
no=no*10;
}
//序列号的值大于等于格式化位数的最大值,或者序列号的值小于等于0时,抛出参数异常
if(idx>no-1 || idx<=0)
throw new IllegalArgumentException("idx:"+idx);
StringBuffer buf=new StringBuffer(scale);
for(int j=1,num=10;j<scale;j++,num=num*10){
if(idx>=num/10 && idx<num){
for(int i=scale-j;--i>=0;){
buf.append(0);
}
}
}
buf.append(idx);
return buf.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -