在實際生產中,我們經常遇到這樣的情況,就是類似生成使用者號的標準化字串。比如,生成乙個以1開頭,中間為0,後面遞增的11位數字:10000000001、10000000002、10000000003……
生成這樣的使用者號的好處是格式統一,而且能夠很清楚的看出此使用者號的含義。比如以1開頭的為使用者號、以2開頭的為企業號、以3開頭的為商戶號等等。
生成使用者號後面的順序數字有很多辦法,比如採用資料庫的自增屬性,採用zookeeper的鎖機制等等。但通過他們拿到的往往只是個順序的數字,位數和字首並不是逾期的格式。下面就簡單介紹一下如何方面的將順序數字生成標準格式的使用者號。
下面以生成使用者號和商戶號的例項具體說明:
package com;
/** *@author 二師兄
*@date 2017/3/3
*/public
class
test
/*** 根據字首和序列號生成使用者號
*@param prenumber 字首
*@param index 序列
*@return
*/public
static string getuserno(int prenumber,long index)
}
列印結果為:
使用者號為:10000001024
企業號為:20000002048
很明顯,上面的例子使用了string.format方法來格式化字串,省去了各種判斷比較拼接字串的步驟,精簡了**。
string類的format()方法用於建立格式化的字串以及連線多個字串物件。
string.format("%d
%010d",prenumber,index)
(1)第乙個%d代表整數型別(十進位制),是prenumber的佔位符,拼接字串的時候會用prenumber的值進行替換。
(2)第二個%010d,前面第乙個0代表:數字前面補0;後面的10代表字元總長度為10,d代表整數型別。這個表示式的整體含義就是,用index的值來替換此處表示式,如果index的長度不足10位,則在index的前面用0補齊。
通過以上方法,可以輕易的生成乙個其他類似的指定格式的字串。發揮你的想象力吧。
Python字串format函式
python從2.6開始支援format,一種新的更加容易讀懂的字串格式化方法。1.替代舊的 輸出 舊的格式化輸出方法 usr bin python name tom age 18 print s is d years old name,age 使用format函式格式化輸出 usr bin pyt...
python基礎 format格式字串
語法 它通過 和 來代替 注意 字串的format函式可以接受無限個引數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空 2.7才可以。1 通過位置 in 1 format kzc 18 out 1 kzc,18 in 2 format kzc 18 out 2 kzc,18 in 3 f...
字串格式化 format
tp1 i am age format seven 18,alex print tp1 fill align sign0,type 空格 正號空格,負號加負 可選 為數字新增分隔符,如 1,000,000 width 可選 格式化位所佔寬度 precision 可選 小數字保留精度 type 可選 ...