java如何自动补齐数值至指定位数

Olivia ·
更新时间:2024-09-20
· 1025 次阅读

目录

java自动补齐数值至指定位数

java字符串前补零和后补零的快速方法

数字字符串替换方法

非数字字符串前补零

总结

java自动补齐数值至指定位数

如流水号需要在数字前自动补齐0,至指定位数。

如果已经达到了指定位数,不会补齐,返回原数值。

    /**      * 自动补齐位数      * @param length 补齐后的位数      * @param num 待补齐的数值      * @return      */     public static String pad(int length,long num){         return String.format("%0".concat(String.valueOf(length)).concat("d"), num);     } java字符串前补零和后补零的快速方法 数字字符串替换方法         String fileName = "130181";         System.out.println("================  前补零方法一   =================");         DecimalFormat g1=new DecimalFormat("0000000");         String startZeroStr = g1.format(Integer.valueOf(fileName));         System.out.println("前补零方法一:"+startZeroStr);         System.out.println("================  前补零方法二,此方法不能对非数字字符串替换,非数字的在最后有方法   =================");         startZeroStr = String.format("%07d",Integer.valueOf(fileName));         System.out.println("前补零方法二:"+startZeroStr);         System.out.println("================  后补零方法一   =================");         DecimalFormat g2=new DecimalFormat("0.000000");         String endZeroStr = g2.format(Integer.valueOf(fileName));         System.out.println("后补零:"+endZeroStr);         System.out.println("虽然后补零出现这种情况,带有小数点");         System.out.println("比如你要长度要在7位以内,可以这么做");         System.out.println("后补零转变后:"+endZeroStr.replace(".","").substring(0,7));

输出结果如下:(后补零后边还有)

================  前补零方法一   =================
前补零方法一:0130181
================  前补零方法二   =================
前补零方法二:0130181
================  后补零方法一   =================
后补零:130181.000000
虽然后补零出现这种情况,带有小数点
比如你要长度要在7位以内,可以这么做
后补零转变后:1301810

当然,后补零通过上边也能知道就是后边多补几个零,然后截取就行了,其实也不用像上边那么费劲了。直接对内容加上一堆零,然后再截取,如下是对某个值补15个零的方法,感觉这才是最直接的后补零。。。

(ynzlJjzz.getCode()+"0000000000000000").substring(0,15) 非数字字符串前补零

最近有个大佬提了个问题,对非数字字符串前补零,用%4d替换肯定是不行的,因为%d对应的就是数字格式,如果想对AA字符串前补零到4位,可以这样写:

String.format("%4s", "AA").replace(" ","0")

相当于先对字符串转,以空格补满位数,然后再将空格整体替换为目标0。也是一个方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持软件开发网。



自动 JAVA 定位

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章
Badia 2020-04-26
955