C 中的字串格式

2022-08-28 17:21:29 字數 3946 閱讀 9407

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 自動選...