`
灵雨飘零
  • 浏览: 35020 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
文章分类
社区版块
存档分类
最新评论

C# string.Format 格式化使用说明

 
阅读更多

MSDN介绍:

http://msdn.microsoft.com/zh-cn/library/system.string.format.aspx

C#格式化数值结果表

字符

说明

示例

输出

C 货币 string.Format("{0:C3}", 2) $2.000
D 十进制 string.Format("{0:D3}", 2) 002
E 科学计数法 1.20E+001 1.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.

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

Numbers

Basic number formatting specifiers:

Specifier Type Format

Output
(Passed
Double 1.42)

Output
(Passed
Int -12400)

c Currency {0:c} $1.42 -$12,400
d Decimal (Whole number) {0:d} System.
FormatException
-12400
e Scientific {0:e} 1.420000e+000 -1.240000e+004
f Fixed point {0:f} 1.42 -12400.00
g General {0:g} 1.42 -12400
n Number with commas for thousands {0:n} 1.42 -12,400
r Round trippable {0:r} 1.42 System.
FormatException
x Hexadecimal {0:x4} System.
FormatException
cf90

Custom number formatting:

Specifier Type Example Output (Passed Double 1500.42) Note
0 Zero placeholder {0:00.0000} 1500.4200 Pads with zeroes.
# Digit placeholder {0:(#).##} (1500).42
. Decimal point {0:0.0} 1500.4
, Thousand separator {0:0,0} 1,500 Must be between two zeroes.
,. Number scaling {0:0,.} 2 Comma adjacent to Period scales by 1000.
% Percent {0:0%} 150042% Multiplies by 100, adds % sign.
e Exponent placeholder {0:00e+0} 15e+2 Many exponent formats available.
; Group separator see 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.

Specifier Type Example (Passed System.DateTime.Now)
d Short date 10/12/2002
D Long date December 10, 2002
t Short time 10:11 PM
T Long time 10:11:29 PM
f Full date & time December 10, 2002 10:11 PM
F Full date & time (long) December 10, 2002 10:11:29 PM
g Default date & time 10/12/2002 10:11 PM
G Default date & time (long) 10/12/2002 10:11:29 PM
M Month day pattern December 10
r RFC1123 date string Tue, 10 Dec 2002 22:11:29 GMT
s Sortable date string 2002-12-10T22:11:29
u Universal sortable, local time 2002-12-10 22:13:50Z
U Universal sortable, GMT December 11, 2002 3:13:50 AM
Y Year month pattern December, 2002

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

Custom date formatting:

Specifier Type Example Example Output
dd Day {0:dd} 10
ddd Day name {0:ddd} Tue
dddd Full day name {0:dddd} Tuesday
f, ff, ... Second fractions {0:fff} 932
gg, ... Era {0:gg} A.D.
hh 2 digit hour {0:hh} 10
HH 2 digit hour, 24hr format {0:HH} 22
mm Minute 00-59 {0:mm} 38
MM Month 01-12 {0:MM} 12
MMM Month abbreviation {0:MMM} Dec
MMMM Full month name {0:MMMM} December
ss Seconds 00-59 {0:ss} 46
tt AM or PM {0:tt} PM
yy Year, 2 digits {0:yy} 02
yyyy Year {0:yyyy} 2002
zz Timezone offset, 2 digits {0:zz} -05
zzz Full timezone offset {0:zzz} -05:00
: Separator {0:hh:mm:ss} 10:43:20
/ Separator {0:dd/MM/yyyy} 10/12/2002

Enumerations

Specifier Type
g Default (Flag names if available, otherwise decimal)
f Flags always
d Integer always
x Eight 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、格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元)

string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20)

默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数
string.Format("{0:C1}",23.15) 结果为:¥23.2 (截取会自动四舍五入)

格式化多个Object实例
string.Format("市场价:{0:C},优惠价{1:C}",23.15,19.82)

2、格式化十进制的数字(格式化成固定的位数,位数不能少于未格式化前,只支持整形)

string.Format("{0:D3}",23) 结果为:023

string.Format("{0:D2}",1223) 结果为:1223,(精度说明符指示结果字符串中所需的最少数字个数。)

3、用分号隔开的数字,并指定小数点后的位数

string.Format("{0:N}", 14200) 结果为:14,200.00 (默认为小数点后面两位)

string.Format("{0:N3}", 14200.2458) 结果为:14,200.246 (自动四舍五入)

4、格式化百分比

string.Format("{0:P}", 0.24583) 结果为:24.58% (默认保留百分的两位小数)

string.Format("{0:P1}", 0.24583) 结果为:24.6% (自动四舍五入)

5、零占位符和数字占位符

string.Format("{0:0000.00}", 12394.039) 结果为:12394.04

string.Format("{0:0000.00}", 194.039) 结果为:0194.04

string.Format("{0:###.##}", 12394.039) 结果为:12394.04

string.Format("{0:####.#}", 194.039) 结果为:194

6、日期格式化

string.Format("{0:d}",System.DateTime.Now) 结果为:2009-3-20 (月份位置不是03)

string.Format("{0:D}",System.DateTime.Now) 结果为:2009年3月20日

string.Format("{0:f}",System.DateTime.Now) 结果为:2009年3月20日 15:37

string.Format("{0:F}",System.DateTime.Now) 结果为:2009年3月20日 15:37:52

string.Format("{0:g}",System.DateTime.Now) 结果为:2009-3-20 15:38

string.Format("{0:G}",System.DateTime.Now) 结果为:2009-3-20 15:39:27

string.Format("{0:m}",System.DateTime.Now) 结果为:3月20日

string.Format("{0:t}",System.DateTime.Now) 结果为:15:41

string.Format("{0:T}",System.DateTime.Now) 结果为:15:41:50

分享到:
评论

相关推荐

    C#String.Format数字格式化输出 .txt

    在C#编程语言中,`String.Format`方法是一种强大的字符串格式化工具,它允许开发者以预定义的格式输出各种类型的数据,特别是在处理数字时。通过使用特定的格式化字符串,可以控制数字的显示方式,包括小数点后的...

    C# String.Format格式化字符串

    C# String.Format格式说明

    C#String.Format格式化输出.rar

    本资源“C#String.Format格式化输出.rar”主要关注C#中的字符串格式化功能,尤其是`String.Format`方法的使用。字符串格式化是编程中一个非常重要的概念,它允许我们将数据按照特定的模板或格式进行输出,方便读取和...

    C#String.Format数字格式化输出

    C#String.Format数字格式化输出;有比较详细的讲解。希望对大家有用。

    C#String.Format格式化输出.pdf

    在C#编程中,`String.Format`方法是一个非常实用的功能,它允许我们将变量或表达式的值插入到一个字符串模板中,以生成格式化的输出。在处理数字、日期、时间等数据时,`String.Format`提供了丰富的格式化选项。以下...

    C#String.Format数字格式化

    ### C#中的String.Format方法与数字格式化 在C#编程语言中,`String.Format`是一种非常实用且灵活的方法,用于格式化字符串输出。通过该方法可以方便地控制数字、日期时间等数据类型的显示格式,这在实际开发过程中...

    C#的String.Format 范例

    综上所述,`String.Format`在C#中是一个非常有用的工具,掌握其使用方法能够帮助开发者更好地处理各种格式化需求。无论是简单的数值格式化还是复杂的日期时间格式化,`String.Format`都能提供灵活且强大的解决方案。

    C# String.Format格式化输出和ToString()的一些常用用法.pdf

    在C#编程语言中,`String.Format`方法和`ToString()`是两个非常重要的字符串操作方法,主要用于格式化输出和类型转换。本文将详细介绍这两种方法的一些常用用法。 首先,`ToString()`方法允许我们将一个对象转换为...

    C# String.Format格式化输出和ToString()的一些常用用法.docx

    在C#编程语言中,`String.Format`方法和`ToString()`方法是两个非常重要的字符串处理功能,用于格式化输出和转换对象的值。下面将详细解释这些知识点。 首先,`ToString()`方法是一个内置的方法,它允许我们将任何...

    C# string.Format字符串格式说明.pdf

    `C#`中的`string.Format`方法是一种强大的字符串格式化工具,它允许程序员根据特定的格式将变量或表达式的结果转换为字符串。这个方法广泛应用于输出具有特定样式和精度的数值、日期、货币等信息。以下是对`string....

    String.Format数字格式化输出

    在C#中,`String.Format`方法是进行字符串格式化的一种非常实用的方式。它允许我们对数字、日期、时间等数据类型进行精确的格式控制,使得输出更加符合需求或者易于阅读。本文将详细介绍`String.Format`方法中的几种...

    C# String.Format格式化输出和ToString()的一些常用用法..docx

    在C#编程语言中,`String.Format`方法和`ToString()`是两个非常重要的字符串操作方法,主要用于字符串格式化输出和对象转换成字符串。下面将详细解释这些方法的使用及其相关知识点。 1. `String.Format`方法: `...

    js写的string.format函数

    js 写的string format函数,功能模仿C#中的string.Format方法,已实现(整数 :D、小数:F、货币数字:C、科学计数:E 等4种)数字格式化。参数可以传递数组,也可以传多个参数。

    CString.Format格式化输出

    CString.Format格式化输出是C#语言中的一种常用的字符串格式化输出方式。它可以将数值、日期、时间等信息按照指定的格式进行输出,常用于报表、日志、数据导出等场景。 CString.Format格式化输出可以将数值、日期、...

    WPF中StringFormat的用法

    在Windows Presentation Foundation (WPF) 开发中,`StringFormat` 是一个非常实用的功能,它允许开发者以一种灵活且强大的方式格式化绑定的数据。本文将详细介绍 `StringFormat` 在 WPF 中的应用及其与 C# 中 `...

    C# 字符串格式化

    在 C# 中,使用 string.Format 方法对货币进行格式化,例如,string.Format("{0:C}", 0.2) 将结果格式化为¥0.20,在英文系统中将格式化为 $0.20。默认情况下,小数点后面保留两位小数,如果需要保留一位或者更多,...

    C#中string.format用法详解

    在C#编程语言中,`string.Format`是一个非常重要的方法,用于将变量的值插入到字符串模板中,实现字符串的格式化输出。这个方法广泛应用于日志记录、用户界面显示和数据输出等场景。下面我们将深入探讨`string....

    JS仿C#的String.Format函数

    在JavaScript中,没有内置的`String.Format`函数,如C#中那样,它提供了一种方便的方式来格式化字符串。然而,由于JavaScript的灵活性,我们可以创建一个类似的函数来实现这一功能。`String.Format`的主要作用是将...

    JS写的仿C#的String.Format函数

    在JavaScript开发中,有时我们可能需要像C#那样对字符串进行格式化操作,尤其是在处理动态数据时。C#中的`String.Format`函数提供了一种方便的方式来插入变量到字符串模板中,使得代码更易于理解和维护。然而,...

Global site tag (gtag.js) - Google Analytics