String format() 的用法

下面是一個簡單的例子:

int = 123;
str = "字符串"

--下面的%s對應參數str, %i對應參數int

str = string.format("這是字符串:'%s' 這是數字值 %i",str,int);



public List<AgentDTO> qryAgentList(String condion, int start, int end) {
String sql = String.format("SELECT * FROM (SELECT A.*,ROWNUM RN FROM ( SELECT * FROM T_AGENT WHERE AGENT_STATE <> -1 %s ) A WHERE ROWNUM < %d ) WHERE RN >= %d ", condion, end, start);
return getJdbcTemplate().query(sql, agentRow);
}



1、格式碼

代碼 c
參數 數字值(number)
含義 參數被裁剪爲8位字節碼並作爲字符進行打印。

代碼 i,d
參數 數字值(number)
含義 參數作爲一個十進制整數打印。如果給出了精度而且值的位數小於精度位數,前面就用0填充。

代碼 u,o,x,X
參數 數字值(number)
含義 參數作爲一個無符號數字值打印,u使用十進制,o使用八進制,x或X使用十六進制,兩者的區別是x約定使用abcdef,而X約定使用ABCDEF。

代碼 e,E
參數 數字值(number)
含義 參數根據指數形式打印。例如,6.023000e23是使用代碼e,6.023000E23是使用代碼E。小數點後面的位數由精度字段決定,缺省值是6。

代碼 f
參數 數字值(number)
含義 參數按照的常規浮點格式打印。精度字段決定小數點後面的位數,缺省值是6。

代碼 g,G
參數 數字值(number)
含義 參數以%f或%e(如G則%E)的格式打印,取決於它的值。如果指數大於等於-4但小於精度字段就使用%f格式,否則使用指數格式。

代碼 s
參數 字符串值(string)
含義 打印一個字符串。

代碼 q
參數 (無)
含義 打印一個字符串,並將字符串置於一對引號中,如果字符串中包含引號換行等自動添加轉義符。如果要讀取一個字符串傳爲腳本代碼。爲避免用戶惡意注入引號等特殊字符,可以使用%q進行格式化。

代碼 %
參數 (無)
含義 取消%轉義打印一個%字符,即用%%表示本來的%。


數字的進制轉換

--數字轉換爲二進制字符串
str = string.format("%b",23 );

--二進制字符串轉換爲數字
n = tonumber(str,2)

--數字轉換爲八進制字符串
str = string.format("%o",23 );

--八進制字符串轉換爲數字
n = tonumber(str,8)

--數字轉換爲十六進制字符串
str = string.format("%x",23 );

--十六進制字符串轉換爲數字
n = tonumber(str,16)

格式化時間

--從字符串創建時間值
t = string.time("2006/6/6 0:0:0","%Y/%m/%d %H:%M:%S")

--從時間值創建字符串
str = string.ftime("%Y/%m/%d %H:%M:%S",t )
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章