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。也是一个方法。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Sentinel热门词汇限流的实现详解

    Sentinel热门词汇限流的实现详解

    这篇文章主要介绍了使用Sentinel对热门词汇进行限流的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • spring 和 idea 建议不要使用 @Autowired注解的原因解析

    spring 和 idea 建议不要使用 @Autowired注解的原因解析

    @Autowired 是Spring框架的注解,而@Resource是JavaEE的注解,这篇文章主要介绍了spring和idea建议不要使用@Autowired注解的相关知识,需要的朋友可以参考下
    2023-11-11
  • 【Java IO流】字节流和字符流的实例讲解

    【Java IO流】字节流和字符流的实例讲解

    下面小编就为大家带来一篇【Java IO流】字节流和字符流的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • SpringBoot实现各种参数校验总结(建议收藏!)

    SpringBoot实现各种参数校验总结(建议收藏!)

    本文深入解析了Spring Validation的使用方法、实现原理及最佳实践,详细介绍了各种参数校验场景,如requestBody和requestParam/PathVariable的使用,并探讨了分组校验、嵌套校验和自定义校验的高级应用,需要的朋友可以参考下
    2024-09-09
  • 使用Lombok时@JsonIgnore注解失效解决方案

    使用Lombok时@JsonIgnore注解失效解决方案

    这篇文章主要为大家介绍了使用Lombok时@JsonIgnore注解失效问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java反射机制用法总结

    Java反射机制用法总结

    反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。下面我们来一起学习一下吧
    2019-05-05
  • 4个Java8中你需要知道的函数式接口分享

    4个Java8中你需要知道的函数式接口分享

    Java 8 中提供了许多函数式接口,包括Function、Consumer、Supplier、Predicate 等等。本文主要来和大家介绍一下它们的具体使用,需要的可以参考一下
    2023-04-04
  • 5分钟让你快速掌握java8 stream常用开发技巧

    5分钟让你快速掌握java8 stream常用开发技巧

    这篇文章主要给大家介绍了关于java8 stream常用开发技巧的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • IDEA Spring Boot 自动化构建+部署的实现

    IDEA Spring Boot 自动化构建+部署的实现

    这篇文章主要介绍了IDEA Spring Boot 自动化构建+部署的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java中JSON数据操作与处理全面指南

    Java中JSON数据操作与处理全面指南

    JSON(JavaScript Object Notation)是数据交换的轻量级格式,它以易于人类阅读和机器解析的方式组织数据,基于键值对,在Java开发中,处理JSON数据通常涉及使用Jackson、Gson、Fastjson等库,本文给大家介绍JSON数据操作与处理全面指南,感兴趣的朋友一起看看吧
    2024-10-10

最新评论