Java如何實(shí)現(xiàn)字符串補(bǔ)齊
Java實(shí)現(xiàn)字符串補(bǔ)齊
方法 1:使用String.format()
推薦方式,簡(jiǎn)單高效:
String str = "123";
String paddedStr = String.format("%06d", Integer.parseInt(str));
System.out.println(paddedStr); // 輸出:000123說明:
%06d表示將整數(shù)格式化為 6 位字符串,不足部分用 0 填充。- 適用場(chǎng)景:輸入確定為純數(shù)字字符串。
方法 2:使用DecimalFormat
適用于數(shù)字格式化需求:
import java.text.DecimalFormat;
String str = "123";
int num = Integer.parseInt(str);
DecimalFormat df = new DecimalFormat("000000");
String paddedStr = df.format(num);
System.out.println(paddedStr); // 輸出:000123說明:
000000表示固定 6 位,不足補(bǔ) 0。- 優(yōu)點(diǎn):適用于需要頻繁格式化數(shù)字的場(chǎng)景。
方法 3:手動(dòng)補(bǔ) 0(字符串拼接)
靈活處理非數(shù)字字符串:
String str = "123";
while (str.length() < 6) {
str = "0" + str;
}
System.out.println(str); // 輸出:000123說明:
- 適用場(chǎng)景:輸入可能包含非數(shù)字字符,且需要統(tǒng)一補(bǔ) 0 處理。
方法 4:使用StringUtils.leftPad()(Apache Commons Lang)
需要引入依賴,但功能強(qiáng)大:
import org.apache.commons.lang3.StringUtils; String str = "123"; String paddedStr = StringUtils.leftPad(str, 6, '0'); System.out.println(paddedStr); // 輸出:000123
依賴配置:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>優(yōu)點(diǎn):
- 自動(dòng)處理
null輸入(返回null)。 - 支持自定義填充字符(如
leftPad(str, 6, ' ')補(bǔ)空格)。
方法 5:使用 Java 11 + 的String.repeat()
優(yōu)雅的單行實(shí)現(xiàn):
String str = "123"; String paddedStr = "0".repeat(Math.max(0, 6 - str.length())) + str; System.out.println(paddedStr); // 輸出:000123
說明:
- 適用場(chǎng)景:Java 11 及以上版本,簡(jiǎn)潔高效。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java關(guān)鍵字finally_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
java關(guān)鍵字finally不管是否出現(xiàn)異常,finally子句總是在塊完成之前執(zhí)行。下面通過實(shí)現(xiàn)代碼給大家介紹Java關(guān)鍵字finally相關(guān)知識(shí),需要的的朋友參考下吧2017-04-04
spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解
這篇文章主要為大家介紹了spring?mybatis環(huán)境常量與枚舉轉(zhuǎn)換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作
這篇文章主要介紹了Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java根據(jù)模板實(shí)現(xiàn)excel導(dǎo)出標(biāo)準(zhǔn)化
這篇文章主要為大家詳細(xì)介紹了Java如何根據(jù)模板實(shí)現(xiàn)excel導(dǎo)出標(biāo)準(zhǔn)化,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考下2024-03-03
Spring中使用自定義ThreadLocal存儲(chǔ)導(dǎo)致的坑及解決
這篇文章主要介紹了Spring中使用自定義ThreadLocal存儲(chǔ)導(dǎo)致的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot-jpa的實(shí)現(xiàn)操作
這篇文章主要介紹了springboot-jpa的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Spring6當(dāng)中獲取Bean的四種方式小結(jié)
Spring 為Bean 的獲取提供了多種方式,通常包括4種方式,(也就是說在Spring中為Bean對(duì)象的創(chuàng)建準(zhǔn)備了多種方案,目的是:更加靈活),本文將通過代碼示例詳細(xì)的給大家介紹了一下這四種方式,需要的朋友可以參考下2024-04-04
Java實(shí)現(xiàn)基于token認(rèn)證的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)基于token認(rèn)證的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

