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

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

总结

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

(0)

相关推荐

  • Java长度不足左位补0的3种实现方法

    目录 Java长度不足左位补0的方法 通过 String.format 方式来进行左位补零操作 通过 NumberFormat 方式来进行左位补零操作 使用循环实现左位补零操作 String左侧补0以及左侧删0 String左侧补0 String左侧删0 总结 Java长度不足左位补0的方法 通过 String.format 方式来进行左位补零操作 // 1为 int 类型.0代表前面要补位的字符.2代表字符串的长度.d表示参数为整数类型 String s = String.format("%0

  • Java四舍五入时保留指定小数位数的五种方式

    方式一: double f = 3.1516; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 输出结果f1为 3.15: 源码解读: public BigDecimal setScale(int newScale, int roundingMode) //int newScale 为小数点后保留的位数, int roundingMode 为变

  • Java指定保留小数位数的方法

    今天项目中需要更改时长的显示方式,规定必须保留两位小数,刚才看简书的时候正好看到一个指定保留小数位数的工具类的文章,在此基础上,做了一点小修改,用起来更加方便了,有需要的朋友尽管撸走 DecimalUtils 类: import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; /** * Created by Sean on 17/3/10. */ public class

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

    目录 java自动补齐数值至指定位数 java字符串前补零和后补零的快速方法 数字字符串替换方法 非数字字符串前补零 总结 java自动补齐数值至指定位数 如流水号需要在数字前自动补齐0,至指定位数. 如果已经达到了指定位数,不会补齐,返回原数值.     /**      * 自动补齐位数      * @param length 补齐后的位数      * @param num 待补齐的数值      * @return      */     public static String pa

  • PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法

    一.数字补0. 如果要自动生成学号,自动生成某某编号,就像这样的形式"d0000009"."d0000027"时,那么就会面临一个问题,怎么把左边用0补齐成这样8位数的编码呢?我想到了两种方法实现这个功能. 方法一: 先构造一个数字10000000,千万,也就是一个1,7个0,然后加上当前的编号(比如是3),那么就得到 10000003,用字符串截取 substr('10000003',1,7)后就得到0000003,最后在与"d"拼接,就得到了

  • jquery自动补齐功能插件flexselect用法示例

    本文实例讲述了jquery自动补齐功能插件flexselect用法.分享给大家供大家参考,具体如下: 这几天正在做一个东东.需要用到自动补齐的功能.也就是select控件的文本项可以让它写.默认的select文本框是只读的,不能写.在网上找到一个jQuery插件:flexselect可以完成这项功能. 将插件放到项目里.然后在页面中引用这个插件. <script src="${pageContext.request.contextPath}/js/jquery.flexselect-0.2

  • PHP自带函数给数字或字符串自动补齐位数

    先来看个例子:需求为生成4位数,不足前面补0 <?php //生成4位数,不足前面补0 $var=sprintf("%04d", 2); echo $var;//结果为0002 echo date('Y_m_d', time()).'_'.sprintf('d', rand(0,99)); ?> sprintf()函数 有没有感觉很像c语言 1. 语法 sprintf(format,arg1,arg2,arg++) 参数 描述 format 必需.转换格式. arg1 必需

  • 关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器

    firefox 和 ie 的浏览器各自实现了input历史记录的功能,可以简化输入时的麻烦,但是,有时候弹出的下拉框会挡住页面显示内容,而且在某些情况下也不需要对input框进行记录,如号码查询的input框,用户不会对同一个号码进行多次查询,就没有必要让浏览器记录. MSIE自定义了input 的扩展属性 autocomplete,置为off即可 <input type="text" autocomplete="off" id="number&qu

  • 详解jQuery UI库中文本输入自动补全功能的用法

    自动补全(autocomplete),是一个可以减少用户输入完整信息的UI 工具.一般在 输入邮箱.搜索关键字等,然后提取出相应完整字符串供用户选择. 一.调用autocomplete()方法 $('#email').autocomplete({ source : ['aaa@163.com', 'bbb@163.com', 'ccc@163.com'], }); 二.修改autocomplete()样式    由于autocomplete()方法是弹窗,然后鼠标悬停的样式.通过Firebug

  • Python 自动补全(vim)

    一.vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.python 模块内函数,变量补全 5.from module import sub-module 补全 想为vim启动自动补全需要下载插件,地址如下: http://vim.sourceforge.net/scripts/script.php?script_id=850 https://github

  • jQuery实现邮箱下拉列表自动补全功能

    记得,在上个项目中,遇到这样一个需求,网站要求填写邮箱的时候,还没有填写完,就会出现一系列下拉列表,帮助自动补全邮箱的功能.今天小编给给大家分享下我基于jquery是怎么实现此功能的! 功能简述 •填写邮箱名字,出现下拉列表,自动补全邮箱 •点击上下按键,选取下拉列表邮箱 •按回车键,选中列表内容,隐藏下拉列表 •鼠标经过,下拉列表选项设置为高亮 •鼠标点击,选中下拉列表选项,隐藏下拉列表 HTML HTML代码很简单,我们就一个简单的输入框,然后一个ul标签,在内部可以放好多li标签. <ht

  • JS实现联想、自动补齐国家或地区名称的功能

    1.JS部分 function autocomplete(inp, arr) { /*函数主要有两个参数:文本框元素和自动补齐的完整数据*/ var currentFocus; /* 监听 - 在写入时触发 */ inp.addEventListener("input", function(e) { var a, b, i, val = this.value; /*关闭已经打开的自动完成值列表*/ closeAllLists(); if (!val) { return false;}

  • java实现无符号数转换、字符串补齐、md5、uuid、随机数示例

    复制代码 代码如下: package com.hongyuan.test; import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;import java.util.UUID; /* * 杂项(无符号数转换,字符串补齐,md5,uuid,随机数) */public class SundryTest { //转成无符号数 public stati

随机推荐