java 位数补0处理

数据库中表的ID为4位数字,如:0001,0012,0123,1234

如果插入的值不满足4位,需要进行转换,有两种方法

第一种方法以:

       int n = 1;  
       NumberFormat formatter = NumberFormat.getNumberInstance();  
       formatter.setMinimumIntegerDigits(4);  
       formatter.setGroupingUsed(false);  
       String s = formatter.format(n);

       System.out.println(s);

第二方法以:

       int n = 1;

       String str1 = String.format(" %04d", n); 

       System.out.println(str1);


转载于:https://my.oschina.net/90liusq/blog/210041

Java 中,“左0”通常是指对数字、字符串等数据进行格式化处理时,在左侧填充零以达到指定的长度或宽度。这种操作常见于日期时间格式化、编号生成以及需要固定位数展示的场景。 例如,如果希望将整数 `5` 格式化为三位数,则会得到 `"005"`;如果是两位数如 `23` 则结果应为 `"023"` ### 实现方式 #### 使用 `String.format()` 这是最常见的方法之一,利用了占符机制: ```java int num = 7; String formattedNum = String.format("%03d", num); // 结果 "007" ``` **解释**: `%03d` 表示一个最小宽度为3的十进制整数,并且不足部分由前导‘0齐。 #### 使用 `NumberFormat` 另一种较为复杂的实现途径适用于更广泛的国际化需求。 ```java import java.text.NumberFormat; public class LeftPadZeroExample { public static void main(String[] args) { int value = 42; NumberFormat formatter = NumberFormat.getInstance(); formatter.setMinimumIntegerDigits(3); formatter.setGroupingUsed(false); System.out.println(formatter.format(value)); // 输出 “042” } } ``` #### 自定义函数 - 手动拼接法 对于简单的需求也可以手写辅助工具类完成类似任务: ```java public static String padLeftWithZeros(int number, int length){ return String.format("%0" + length +"d",number ); } // 调用 System.out.println(padLeftWithZeros(8 ,4 )); //输出“0008” ``` 以上几种都是有效的解决办法,选择哪种取决于实际应用场景和个人偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值