先簡單介紹一下業務場景:公司新版本評審結束,需要按照一定規則拼接字串(例如: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 ...