在之前,有一个数据需要存在数据库中的格式类似“58-001”这种的,其中58和1都是分别获取的,然后想组合成“58-001”的字符串保存在数据库的表中。对于int类型的数字1如何转换成字符串形式的001,我找了一些方法,目前采用了 NumberFormat方式去规范化。
int i = 1;
NumberFormat nf = NumberFormat.getInstance();
nf.setGroupingUsed(false);
//设置数的整数部分所允许的最大位数
nf.setMaximumIntegerDigits(3);
//设置数的整数部分所允许的最大位数
nf.setMinimumIntegerDigits(3);
String a = nf.format(i);
然后a即是字符串“001”。其中,在NumberFormat中的规定中,如果整数部分位数少于<span style="color: rgb(0, 0, 0);">minIntegerDigits</span>,将在左边补<span style="color: rgb(0, 0, 0);">0</span>;如果多于<span style="color: rgb(0, 0, 0);">maxIntegerDigits</span>,将会截去前面多的位数。自然有整数部分,自然也会有小数部分。其中,如果小数部分位数小于<span style="color: rgb(0, 0, 0);">minFractionDigits</span>,将在右边补<span style="color: rgb(0, 0, 0);">0</span>;如果多于<span style="color: rgb(0, 0, 0);">maxFractionDigits</span>,则会作四舍五入处理。