亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java字符串?dāng)?shù)字左右補(bǔ)全0的四種方式

 更新時(shí)間:2023年08月19日 15:27:18   作者:studyday1  
這篇文章主要給大家介紹了關(guān)于Java字符串?dāng)?shù)字左右補(bǔ)全0的四種方式,在編程中有時(shí)候我們需要對(duì)一個(gè)字符串進(jìn)行字符填充,以滿足某些特定的要求,其中補(bǔ)全0是一種常見的需求,需要的朋友可以參考下

業(yè)務(wù)場(chǎng)景:

我們?cè)谧鲆粋€(gè)單號(hào)字段設(shè)計(jì)的時(shí)候,經(jīng)常需要用到這種格式,比如no2023062800001,no2023062800002,no2023062800003,單號(hào)累計(jì)遞增,前綴是指定的字符串+當(dāng)前日期+數(shù)字五位,不滿五位左邊補(bǔ)0

方式一:String.format

%06d的定義:

0代表前面要補(bǔ)的字符

6代表字符串長(zhǎng)度

d表示參數(shù)為整數(shù)類型

 //左邊加0
String str = String.format("%06d", 12345);
System.out.println(str);      // 012345
 //右加空格
String addspace1 = "asd";
String addspace2 = String.format("%-12s", addspace1);
System.out.println("加空格 start:"+addspace2+":end");  //加空格 start:asd         :end
//左加空格
String addspace2_1 = "asd";
String addspace2_2 = String.format("%12s", addspace2_1);
System.out.println("加空格 start:"+addspace2_2+":end");   //加空格 start:         asd:end

方式二:NumberFormat.getInstance()

 //左邊加0(1)
        int i = 12345;
        // 得到一個(gè)NumberFormat的實(shí)例
        NumberFormat nf = NumberFormat.getInstance();
        // 設(shè)置是否使用分組
        nf.setGroupingUsed(false);
        // 設(shè)置最小整數(shù)位數(shù)
        nf.setMinimumIntegerDigits(6);
        System.out.println("左加0 start:"+nf.format(i)+":end");
        //左加0 start:012345:end

方式三:  StringUtils.leftPad

 System.out.println(StringUtils.rightPad("123",6,"0"));  //123000
 System.out.println(StringUtils.leftPad("123",6,"0"));   //000123

方式四: 自定義方法 append拼接 

/**
     * 給字符串的左補(bǔ)0或右補(bǔ)0
     * @param str  要處理的字符串
     * @param length 補(bǔ)0后字符串總長(zhǎng)度
     * @param type  1-左補(bǔ)0  2-右補(bǔ)0
     * @return
     */
    public static String addZeroForStr(String str, int length,int type) {
        int strLen = str.length();
        if (strLen < length) {
            while (strLen < length) {
                StringBuffer sb = new StringBuffer();
                if(type==1){
                    // 左補(bǔ)0
                    sb.append("0").append(str);
                }else if(type==2){
                    //右補(bǔ)0
                    sb.append(str).append("0");
                }
                str = sb.toString();
                strLen = str.length();
            }
        }
        return str;
    }
//打印
 System.out.println(addZeroForStr("12345",6,1));
//結(jié)果
0123456

附:java字符串不足長(zhǎng)度自動(dòng)補(bǔ)0

1、方法一

import org.apache.commons.lang3.StringUtils;
StringUtils.leftPad(String str, int size, String padStr);
例子:
StringUtils.leftPad("123", 6, "0")  ==>  000123
StringUtils.leftPad("123456", 6, "0")  ==>  123456

2、方法二

String str = "123"
String s = String.format("%06d", str);  //s="000123"
%06d的定義:
0代表前面要補(bǔ)的字符
6代表字符串長(zhǎng)度
d表示參數(shù)為整數(shù)類型

總結(jié) 

到此這篇關(guān)于Java字符串?dāng)?shù)字左右補(bǔ)全0的四種方式的文章就介紹到這了,更多相關(guān)Java字符串?dāng)?shù)字左右補(bǔ)0內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論