C# string.format用法

C#格式化数值结果表

字符

说明

示例

输出

C货币string.Format("{0:C3}", 2)$2.000
D十进制string.Format("{0:D3}", 2)002
E科学计数法1.20E+0011.20E+001
G常规string.Format("{0:G}", 2)2
N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00
X十六进制string.Format("{0:X000}", 12)C
  string.Format("{0:000.000}", 12.2)012.200

Strings

There really isn't any formatting within a strong, beyond it's alignment. Alignment works for any argument being printed in a String.Format call.

 

SampleGenerates
String.Format("->{1,10}<-", "Hello");-> Hello<-
String.Format("->{1,-10}<-", "Hello");->Hello <-

Numbers

Basic number formatting specifiers:

 

SpecifierTypeFormat

Output 
(Passed 
Double 1.42)

Output 
(Passed 
Int -12400)

cCurrency{0:c}$1.42-$12,400
dDecimal (Whole number){0:d}System.
FormatException
-12400
eScientific{0:e}1.420000e+000-1.240000e+004
fFixed point{0:f}1.42-12400.00
gGeneral{0:g}1.42-12400
nNumber with commas for thousands{0:n}1.42-12,400
rRound trippable{0:r}1.42System.
FormatException
xHexadecimal{0:x4}System.
FormatException
cf90

Custom number formatting:

 

SpecifierTypeExampleOutput (Passed Double 1500.42)Note
0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.
#Digit placeholder{0:(#).##}(1500).42 
.Decimal point{0:0.0}1500.4 
,Thousand separator{0:0,0}1,500Must be between two zeroes.
,.Number scaling{0:0,.}2Comma adjacent to Period scales by 1000.
%Percent{0:0%}150042%Multiplies by 100, adds % sign.
eExponent placeholder{0:00e+0}15e+2Many exponent formats available.
;Group separatorsee below  

The group separator is especially useful for formatting currency values which require that negative values be enclosed in parentheses. This currency formatting example at the bottom of this document makes it obvious:

Dates

Note that date formatting is especially dependant on the system's regional settings; the example strings here are from my local locale.

 

SpecifierTypeExample (Passed System.DateTime.Now)
dShort date10/12/2002
DLong dateDecember 10, 2002
tShort time10:11 PM
TLong time10:11:29 PM
fFull date & timeDecember 10, 2002 10:11 PM
FFull date & time (long)December 10, 2002 10:11:29 PM
gDefault date & time10/12/2002 10:11 PM
GDefault date & time (long)10/12/2002 10:11:29 PM
MMonth day patternDecember 10
rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMT
sSortable date string2002-12-10T22:11:29
uUniversal sortable, local time2002-12-10 22:13:50Z
UUniversal sortable, GMTDecember 11, 2002 3:13:50 AM
YYear month patternDecember, 2002

The 'U' specifier seems broken; that string certainly isn't sortable.

Custom date formatting:

 

SpecifierTypeExampleExample Output
ddDay{0:dd}10
dddDay name{0:ddd}Tue
ddddFull day name{0:dddd}Tuesday
f, ff, ...Second fractions{0:fff}932
gg, ...Era{0:gg}A.D.
hh2 digit hour{0:hh}10
HH2 digit hour, 24hr format{0:HH}22
mmMinute 00-59{0:mm}38
MMMonth 01-12{0:MM}12
MMMMonth abbreviation{0:MMM}Dec
MMMMFull month name{0:MMMM}December
ssSeconds 00-59{0:ss}46
ttAM or PM{0:tt}PM
yyYear, 2 digits{0:yy}02
yyyyYear{0:yyyy}2002
zzTimezone offset, 2 digits{0:zz}-05
zzzFull timezone offset{0:zzz}-05:00
:Separator{0:hh:mm:ss}10:43:20
/Separator{0:dd/MM/yyyy}10/12/2002

Enumerations

 

SpecifierType
gDefault (Flag names if available, otherwise decimal)
fFlags always
dInteger always
xEight digit hex.

Some Useful Examples

String.Format("{0:$#,##0.00; ($#,##0.00);Zero}", value);

This will output "$1,240.00" if passed 1243.50. It will output the same format but in parentheses if the number is negative, and will output the string "Zero" if the number is zero.

String.Format("{0:(###) ###-####}", 18005551212);

This will output "(800) 555-1212".

 

变量.ToString()


字符型转换 转为字符串 
12345.ToString("n"); //生成 12,345.00 
12345.ToString("C"); //生成 ¥12,345.00 
12345.ToString("e"); //生成 1.234500e+004 
12345.ToString("f4"); //生成 12345.0000 
12345.ToString("x"); //生成 3039 (16进制) 
12345.ToString("p"); //生成 1,234,500.00%

### 回答1: C#中的string.format是一个字符串格式化方法,可以将一个字符串中的占位符替换为指定的值。它的基本语法如下: string.Format(string format, params object[] args); 其中,format是一个字符串,包含了一个或多个占位符,用花括号{}括起来。args是一个可变参数,用来传递要替换的值。 例如,下面的代码将会把字符串中的{}和{1}分别替换为"Hello"和"World": string str = string.Format("The message is: {} {1}", "Hello", "World"); 输出结果为:"The message is: Hello World"。 除了基本的占位符,还可以使用格式化字符串来指定输出的格式,例如: string str = string.Format("The number is: {:C}", 123.45); 输出结果为:"The number is: $123.45"。 这里的{:C}表示将第一个参数格式化为货币形式。更多的格式化选项可以参考MSDN文档。 ### 回答2: C是一种计算机程序设计语言,最初由贝尔实验室的Dennis Ritchie于1972年创建。C是一种高级语言,它的语法结构类似于自然语言,可以方便地阅读和理解,同时又具有强大的编程能力。C语言广泛应用于系统编程、嵌入式开发、操作系统、驱动程序、网络编程、图形编程等领域。 C语言具有简单、高效、可移植等特点,它可以在不同的计算机系统中编译和运行,这使得C语言成为了非常受欢迎的编程语言之一。在C语言中,程序员可以进行各种操作,如输入输出、变量定义、控制流程语句、函数调用等,这些操作可以被转换为机器指令,以实现计算机的功能。 C语言还具有丰富的库函数,这些函数可以被程序员方便地调用,在程序开发过程中,可以大大提高开发效率和程序性能。C语言库函数包括数学、字符串、输入输出、内存操作、文件处理等方面,它们使得C语言可以处理各种实际问题和任务。 C语言的语法结构简单明了,但是也需要程序员具有一定的编程基础和思维能力,才能编写出高质量的程序。同时,C语言也存在一些问题,如内存泄漏、缓冲区溢出等,这些问题需要程序员进行有效的处理和解决。 总之,C语言是一种非常重要的编程语言,它具有广泛的应用和不可替代的地位,对于想要从事计算机编程的人来说,学习C语言是必不可少的基础。 ### 回答3: 很抱歉,我需要更多的上下文信息来正确回答您的问题。 "c"这个字母有很多可能的含义,因此我需要更多具体的信息来理解您的问题。您能否提供更多上下文信息或者问题的背景?这样我才能够更好地回答您的问题。感谢您的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值