温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2023-01-03 10:04:02 来源:亿速云 阅读:162 作者:iii 栏目:开发技术

这篇文章主要介绍了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怎么自动补齐数值至指定位数”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java怎么自动补齐数值至指定位数”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI