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

 更新时间:2023年01月01日 13:07:08   作者:穿条秋裤到处跑  
这篇文章主要介绍了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实现冒泡排序示例介绍

    冒泡排序是一种简单的排序算法,通过不断比较相邻两个元素的大小,将较大的元素向后移动,最终将最大的元素放到了数组的末尾。Java中的实现方式是通过嵌套两层循环,外层循环控制比较的次数,内层循环控制每次比较时相邻元素的比较和交换
    2023-04-04
  • 关于SpringBoot配置项的优先级,不再有配置不生效的问题

    关于SpringBoot配置项的优先级,不再有配置不生效的问题

    这篇文章主要介绍了关于SpringBoot配置项的优先级,不再有配置不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Java中的循环笔记整理(必看篇)

    Java中的循环笔记整理(必看篇)

    下面小编就为大家带来一篇Java中的循环笔记整理(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 深入探究Spring底层核心原理

    深入探究Spring底层核心原理

    理解IOC与AOP的实现机制,优化应用性能与可维护性。Spring通过IOC容器管理Bean,AOP实现切面编程,支持事务管理、ORM框架等。深入理解Spring原理,可以帮助我们更好地使用Spring框架,提高开发效率与质量
    2023-04-04
  • MyBatis高级映射及延迟加载的实现

    MyBatis高级映射及延迟加载的实现

    MyBatis在处理对象关系映射时,多对一关系是常见的场景,本文就来介绍了MyBatis高级映射及延迟加载的实现,感兴趣的可以了解一下
    2024-11-11
  • java中lambda表达式的分析与具体用法

    java中lambda表达式的分析与具体用法

    这篇文章主要给大家介绍了关于java中lambda表达式具体用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 如何把VS Code打造成Java开发IDE

    如何把VS Code打造成Java开发IDE

    这篇文章主要介绍了如何把VS Code打造成Java开发IDE,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java中左移和右移问题图文详解

    Java中左移和右移问题图文详解

    左移和右移并不常用,在一些特殊情况下才会使用,比如加解密时,会大量用到,这篇文章主要给大家介绍了关于Java中左移和右移问题的相关资料,需要的朋友可以参考下
    2021-11-11
  • Java14对于NullPointerException的新处理方式示例解析

    Java14对于NullPointerException的新处理方式示例解析

    这篇文章主要为大家介绍了Java14对于NullPointerException的新处理方式示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java SpringBoot操作Redis

    Java SpringBoot操作Redis

    这篇文章主要介绍了SpringBoot如何操作Redis,文章中有详细的代码示例,有一定的参考价值,感兴趣的同学可以参考阅读
    2023-04-04

最新评论