java字符串?dāng)?shù)字補(bǔ)齊位數(shù)詳解
java字符串?dāng)?shù)字補(bǔ)齊位數(shù)
在Java中實(shí)現(xiàn)字符串位數(shù)補(bǔ)齊主要有以下幾種常用方法,可根據(jù)不同場(chǎng)景選擇使用:
一、使用String.format()方法
- 1. 左補(bǔ)齊(右側(cè)補(bǔ)空格)
String result = String.format("%10s", "hello"); // 總長(zhǎng)度10,左側(cè)補(bǔ)空格?:ml-citation{ref="5" data="citationList"}
- 2. 右對(duì)齊(左側(cè)補(bǔ)零)
String str = String.format("%06d", 12345); // 輸出"012345"?:ml-citation{ref="5,7" data="citationList"}
- 3. 自定義補(bǔ)位字符
通過(guò)替換空格實(shí)現(xiàn)其他字符補(bǔ)齊:
String res = String.format("%5s", "gr").replace(' ', '1'); // 輸出"111gr"?:ml-citation{ref="4" data="citationList"}
二、Apache Commons Lang庫(kù)方法
- 使用StringUtils.leftPad()實(shí)現(xiàn)左補(bǔ)齊:
String value = StringUtils.leftPad("3123123", 10, "0"); // 輸出"0003123123"?:ml-citation{ref="4" data="citationList"}
三、Java 11+的String.repeat()方法
- 適用于已知需要補(bǔ)足的具體字符數(shù):
String padding = " ".repeat(16 - originalStr.length()); String result = originalStr + padding; // 右補(bǔ)空格至16位?:ml-citation{ref="3" data="citationList"}
四、循環(huán)遍歷實(shí)現(xiàn)
- 通過(guò)StringBuilder動(dòng)態(tài)構(gòu)建補(bǔ)位字符串:
public static String padString(String input, char padChar, int length) { StringBuilder result = new StringBuilder(input); while (result.length() < length) { result.insert(0, padChar); // 左補(bǔ)指定字符?:ml-citation{ref="1" data="citationList"} } return result.toString(); }
五、NumberFormat數(shù)字格式化
- 適用于數(shù)字類型補(bǔ)零:
NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumIntegerDigits(6); // 設(shè)置最小整數(shù)位數(shù) String formatted = nf.format(123); // 輸出"000123"?:ml-citation{ref="5" data="citationList"}
選擇建議:
- 原生推薦:優(yōu)先使用String.format(),代碼簡(jiǎn)潔且性能較好57
- 第三方庫(kù)場(chǎng)景:若項(xiàng)目中已引入Apache Commons Lang,推薦StringUtils.leftPad()4
- 超長(zhǎng)補(bǔ)位需求:Java 11+的repeat()方法更高效3
- 歷史兼容性:低版本Java可使用循環(huán)遍歷實(shí)現(xiàn)12
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java 11 正式發(fā)布,這 8 個(gè)逆天新特性教你寫出更牛的代碼
美國(guó)當(dāng)?shù)貢r(shí)間9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式發(fā)布,可在生產(chǎn)環(huán)境中使用!這是自 Java 8 后的首個(gè)長(zhǎng)期支持版本2018-09-09關(guān)于spring boot中幾種注入方法的一些個(gè)人看法
這篇文章主要給大家介紹了關(guān)于spring boot中幾種注入方法的一些個(gè)人看法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Nacos下線服務(wù)時(shí),下線報(bào)錯(cuò)選舉Leader失敗問題以及解決
這篇文章主要介紹了Nacos下線服務(wù)時(shí),下線報(bào)錯(cuò)選舉Leader失敗問題以及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Javacv使用ffmpeg實(shí)現(xiàn)音視頻同步播放
這篇文章主要介紹了Javacv使用ffmpeg實(shí)現(xiàn)音視頻同步播放,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Java中使用Lambda表達(dá)式和函數(shù)編程示例
這篇文章介紹了Java中使用Lambda表達(dá)式和函數(shù)編程示例,該文章會(huì)演示多個(gè)示列,分別是變量聲明上下文中的lambda、return語(yǔ)句上下文中的lambda、賦值上下文中的lambda、lambda在數(shù)組初始值設(shè)定項(xiàng)上下文中的用法等等,需要的朋友可以參考一下2021-10-10詳解Maven 搭建spring boot多模塊項(xiàng)目(附源碼)
這篇文章主要介紹了詳解Maven 搭建spring boot多模塊項(xiàng)目(附源碼),具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09Java?Chassis3負(fù)載均衡選擇器技術(shù)解密
這篇文章主要為大家介紹了Java?Chassis3負(fù)載均衡選擇器技術(shù)解密,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01