String系列之format方法

2022-09-11 07:39:10 字數 1580 閱讀 8742

先簡單介紹一下業務場景:公司新版本評審結束,需要按照一定規則拼接字串(例如:20191215a001,...20191215a005);看著此需求,大家都想到了迴圈累加,但是後面如何拼接01,02這種字元而不是1,2...呢??答案肯定是資料格式化,於是乎注意力就集中在string類的格式化方法上了,所以下面正式進入本篇文章的主題。

針對上面的需求先簡單解答:

string formatstr = string.format("%03d", 1);//輸出結果:001

format()方法在j**a1.5版本開始新增,主要用於格式化字串;

下面對format()方法做主要介紹:

1、引數佔位符

轉換符說明

例項%s

字串型別

"xiyuan"

%c字元型別

'x'%b

布林型別

true

%d整數型別(十進位制)

99%x

整數型別(十六進製制)

ff%n

換行符無

%%百分號本身

%**示例:

public static void main(string args)

2、劃重點啦~:字串與整數之間格式化

// 補齊空格並右對齊:

string.format("%10s, world", "hello"); // 輸出 " hello, world"

string.format("%8d", 123); // 輸出 " 123"

// 補齊空格並左對齊:

string.format("%-10s, world", "hello"); // 輸出 "hello , world"

string.format("%-8d", 123); // 輸出 "123 "

// 補齊 0 並對齊(僅對數字有效)

string.format("%08d", 123); // 輸出 "00000123"

string.format("%-08d", 123); // 錯誤!不允許在右邊補齊 0

// 輸出最多n個字元

string.format("%.5s", "hello, world"); // 輸出 "hello"

string.format("%.5s...", "hello, world"); // 輸出 "hello..."

string.format("%10.5s...", "hello, world"); // 輸出 " hello..."

// 輸出逗號分隔數字

string.format("%,d", 1234567); // 輸出 "1,234,567"

3、日期格式化:

我們平時工作中最常使用的就是字元和日期之間的轉化;

y=年;m=月;d=日;h=時;m=分;s=秒;l=毫秒;a=星期幾(名稱);b=月份名稱;

具體**就不展示啦!

string系列 StringBuilder實現

借助c 原始碼中stringbuilder的的實現,在c 中實現乙個stringbuilder類。非常簡單,關鍵在實現字串的連線上,直接上 stringbuilder關鍵的實現在於解決多次字串操作後的記憶體碎片問題,下面的 只是乙個玩具,記憶體增長方式可以自定義,這裡我使用的是二倍增長,你也可以4倍...

常用類系列之String類詳解

string也許是我們最常用的類之一。也是那麼神奇的乙個類,就像我們每乙個不同的人,string有其特有的功能,讓我們一起來探索吧。讓我們先來看看string的位置在哪 繼承樹 所有實現的介面 我看到了serializable,它實現了這個介面,那就是可以被直接以物件的形式儲存的。首先看一下官方權威...

String 類格式化日期方法format

使用指定的語言環境 格式字串和引數返回乙個格式化字串。以下轉換字元用來格式化日期 b 特定於語言環境的月份全稱,例如 january 和 february b 特定於語言環境的月份簡稱,例如 jan 和 feb h 與 b 相同。a 特定於語言環境的星期幾全稱,例如 sunday 和 monday ...