string.format2008-12-20 22:31string.format()和tostring()是一回事。就是給個引數,再給個字串格式,然後按照給定的格式輸出引數。
詳細資訊看(
1. 標準數字格式
----- c 或者c , 貨幣。 預設是小數點後兩位,有時候後面跟個數字,比如c3,就是小數點後三位的意思。不同的文化設定,前面的貨幣符號是不同的。
double money = 123.456;
money.tostring("c", cultureinfo.createspecificculture("en-us" ))); //輸出是$123.45
money.tostring("c3", cultureinfo.createspecificculture("en-us" ))); //輸出是$123.456
---- d 或者 d decimal,就是10進製整數。後面可以跟數字,表示整個的位數,不足的位數用左側的零補齊。
int value = 12345;
value.tostring(" d" ); //輸出是12345
value.tostring(" d7" );//輸出是0012345
---- e 或者 e 科學計數法,就是前面是乙個1-10的小數,後面跟著10的多少次方的表達形式。後面跟著個數,表示小數點後有幾位的意思,不足的位數用零補齊。
double data = 12345.678;
data.tostring ( " e " ); //輸出是1.2345678e+004
data.tostring( 「 e4" );//輸出是1.2345e+004
---- f 或者 f 就是小數點後固定幾位。寫個數,就表示位數。只寫f,表示預設兩位。
double data = 12345.678;
data.tostring( " f " ); //輸出是12345.67;
data.tostring( 「 f4" );//輸出是12345.6780;
---- g 或者 g 表示general
即複雜,又不太常用,就不詳述了
---- n 或者 n 就是按照千位,三個三個分組那種。後面接的數字表示小數點後的位數
doule data = 123456789.1234;
data .tostring( " n", cultureinfo.invariantculture));//輸出是123,456,789.1234;
data .tostring( "n1", cultureinfo.invariantculture));//輸出是123,456,789.1;
---- p 或者 p,百分比形式輸出
doule data = 0.12345;
data .tostring("p", cultureinfo.invariantculture));//輸出是12.34%
data .tostring("p1", cultureinfo.invariantculture));//輸出是12.3%
---- r 或者 r round up
--- x 或者 x 十六進製制
2. 使用者自定義數字格式
基本思想就是用佔位符寫個字串格式,然後照著填寫就是了。
0 代表 0-9,就是不足位數,用零補齊的意思,也包括在左側的零。
# 代表空格,0-9,包括前後的零自動抹去。
,是千位分隔符
% 百分號
; 區間分割符。在這個之前的,是正數的表達格式,後面是負數的表達格式。
說明白了,下面就舉例子
格式
0.00 數值是1.1 輸出是 1.10
00.00 數值是1.1 輸出是 01.10
#.## 數值是1.1 輸出是1.1
(###)###-#### 數值是1234567890 輸出是(123)456-7890
[##-##-##] 數值是123456 輸出是[12-34-56]
#0.###% 數值是 .086 輸出是8.6%
#,# 數值是12345678 輸出是12,345,678
##;(##) 數值是23 輸出是 23
##;(##) 數值是-23 輸出是 (23)
3. datetime的常用格式
用法大致如下,
datetime curdate;
curdate.tostring(" d" ); 輸出時間格式 2023年5月3日
curdate.tostring(" d" ); 輸出時間格式 2008-5-3
curdate.tostring("f" ); 輸出時間格式 2023年5月3日 3:14:52
curdate.tostring("f" ); 輸出時間格式 2023年5月3日 3:14
curdate.tostring("g" ); 輸出時間格式 2008-5-3 3:14:52
curdate.tostring("g" ); 輸出時間格式 2008-5-3 3:14
curdate.tostring("m" ); 輸出時間格式 5月3日
curdate.tostring("m" ); 輸出時間格式 5月3日
curdate.tostring("o" ); 輸出時間格式 2008-05-03t03:14:52.8125000-05:00
curdate.tostring("o" ); 輸出時間格式 2008-05-03t03:14:52.8125000-05:00
curdate.tostring("r" ); 輸出時間格式 sat, 03 may 2008 03:14:52 gmt
curdate.tostring("r" ); 輸出時間格式 sat, 03 may 2008 03:14:52 gmt
curdate.tostring("s" ); 輸出時間格式 2008-05-03t03:14:52
curdate.tostring("t" ); 輸出時間格式 3:14:52
curdate.tostring("t" ); 輸出時間格式 3:14
curdate.tostring("u" ); 輸出時間格式 2023年5月3日 8:14:52
curdate.tostring("u" ); 輸出時間格式 2008-05-03 03:14:52z
curdate.tostring("y" ); 輸出時間格式 2023年5月
curdate.tostring("y" ); 輸出時間格式 2023年5月
4. datetime 自定義格式
就是用一些引數組合起來的意思。相關引數如下
d 就是日期。 如1,2,20等。
dd就是二位數日期,如01, 02, 22等
ddd 就是三位字母的星期。如: mon,tue等
dddd就是星期的全名,如monday, sunday 等。
f 就是秒的小數部分。 如 ss.f,就是幾秒幾的意思。
ff就是秒的兩位小數部分。fff, fffff,以及ff,fff意思都差不多,就是幾位小數的意思。
g就是在時間後面的額外部分,如b.c, a.d等等
h,0-12的小時。hh,兩位表述的小時。
h,0-23的小時。hh,兩位表述的小時。
k,表示當前的時區號。
m,mm,表示不限位和兩位表示的分鐘。
m,mmm,mmmm表示月份。分別如: 1, jan, january
s, ss 表示不限位和兩位的秒。如1, 01等
t, tt,表示上午下午, am, 或者pm
y, yy, yyyy,yyyyy不同位數的年份
z,zz,zzzz不同位數的時區
C 中的json格式字串解析
如題,根據json字串的難易程度,c 提供的對應解析方法也不同,現做簡單的歸類總結 string meetinginfo jsonreader reader new jsontextreader new stringreader meetinginfo while reader.read strin...
C 中的格式化字串
string.format和writeline都遵守同樣的格式化規則。格式化的格式如下 arg1,argn,在這個格式中 1 n是從0開始的整數,表示要格式化的引數的個數 2 m是乙個可選的整數,表示格式化後的引數所佔的寬度,如果m是負數,那麼格式化後的值就是左對齊的,如果m是正數,那麼格 式化後的...
c 格式字串說明
c 的格式化字串經常用作格式化數字的輸出 字串合併和轉換等等很多場合。1.格式化規定符 符號 作用 d 十進位制有符號整數 u 十進位制無符號整數 f 浮點數 s 字串 c 單個字元 p 指標的值 e 指數形式的浮點數 x,x 無符號以十六進製制表示的整數 0 無符號以八進位制表示的整數 g 自動選...