ASP.NET设置数据格式与String.Format使用总结

本文介绍了 ASP.NET 中 DataGrid 控件的数据格式设置方法,通过不同的格式字符串实现对数字、日期等数据类型的美化显示,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

{0:d}YY-MM-DD

{0:p}百分比00.00%

{0:N2}12.68

{0:N0}13

{0:c2}$12.68

{0:d}3/23/2003

{0:T}12:00:00AM

{0:男;;女}

DataGrid-数据格式设置表达式

数据格式设置表达式

.NETFramework格式设置表达式,它在数据显示在列中之前先应用于数据。此表达式由可选静态文本和用以下格式表示的格式说明符组成:

{0:formatspecifier}

零是参数索引,它指示列中要格式化的数据元素;因此,通常用零来指示第一个(且唯一的)元素。formatspecifier前面有一个冒号(:),它由一个或多个字母组成,指示如何格式化数据。可以使用的格式说明符取决于要格式化的数据类型:日期、数字或其他类型。下表显示了不同数据类型的格式设置表达式的示例。有关格式设置表达式的更多信息,请参见格式化类型。

格式设置表达式



应用于此数据类型



说明



Price:{0:C}



numeric/decimal



显示“Price:”,后跟以货币格式表示的数字。货币格式取决于通过Page指令或Web.config文件中的区域性属性指定的区域性设置。



{0:D4}



integer(不能和小数一起使用。)



在由零填充的四个字符宽的字段中显示整数。



{0:N2}%



numeric



显示精确到小数点后两位的数字,后跟“%”。



{0:000.0}



numeric/decimal



四舍五入到小数点后一位的数字。不到三位的数字用零填充。



{0:D}



date/datetime



长日期格式(“Thursday,August06,1996”)。日期格式取决于页或Web.config文件的区域性设置。



{0:d}



date/datetime



短日期格式(“12/31/99”)。



{0:yy-MM-dd}



date/datetime



用数字的年-月-日表示的日期(96-08-06)。


只读

当此列处于编辑模式时,该列中的数据是否显示在可编辑的控件中。

2006-02-22|asp.net数据格式的Format--DataFormatString

我们在呈现数据的时候,不要将未经修饰过的数据呈现给使用者。例如金额一万元,如果我们直接显示「10000」,可能会导致使用者看成一千或十万,造成使用者阅读数据上的困扰。若我们将一万元润饰后输出为「NT$10,000」,不但让使比较好阅读,也会让使用者减少犯错的机会。
下列画面为润饰过的结果:
上述数据除了将DataGridWeb控件以颜色来区隔记录外,最主要将日期、单价以及小计这三个计字段的数据修饰的更容易阅读。要修饰字段的输出,只要设定字段的DataFormatString属性即可;其使用语法如下:

DataFormatString="{0:格式字符串}"

我们知道在DataFormatString中的{0}表示数据本身,而在冒号后面的格式字符串代表所们希望数据显示的格式;另外在指定的格式符号后可以指定小数所要显示的位数。例如原来的数据为「12.34」,若格式设定为{0:N1},则输出为「12.3」。其常用的数值格式如下表所示:

格式字符串资料结果
"{0:C}"12345.6789$12,345.68
"{0:C}"-12345.6789($12,345.68)
"{0:D}"1234512345
"{0:D8}"1234500012345
"{0:E}"12345.67891234568E+004
"{0:E10}"12345.67891.2345678900E+004
"{0:F}"12345.678912345.68
"{0:F0}"12345.678912346
"{0:G}"12345.678912345.6789
"{0:G7}"1234567891.234568E8
"{0:N}"12345.678912,345.68
"{0:N4}"123456789123,456,789.0000
"Total:{0:C}"12345.6789Total:$12345.68

其常用的日期格式如下表所示:

格式说明输出格式
d精简日期格式MM/dd/yyyy
D详细日期格式dddd,MMMMdd,yyyy
f完整格式(longdate+shorttime)dddd,MMMMdd,yyyyHH:mm
F
完整日期时间格式
(longdate+longtime)
dddd,MMMMdd,yyyyHH:mm:ss
g一般格式(shortdate+shorttime)MM/dd/yyyyHH:mm
G一般格式(shortdate+longtime)MM/dd/yyyyHH:mm:ss
m,M月日格式MMMMdd
s适中日期时间格式yyyy-MM-ddHH:mm:ss
t精简时间格式HH:mm
T详细时间格式HH:mm:ss

string.format格式结果

String.Format

(C)Currency:........($123.00)

(D)Decimal:.........-123

(E)Scientific:.......-1.234500E+002

(F)Fixedpoint:.......-123.45

(G)General:.........-123

(N)Number:.........-123.00

(P)Percent:.........-12,345.00%

(R)Round-trip:.......-123.45

(X)Hexadecimal:.......FFFFFF85

(d)Shortdate:.......6/26/2004

(D)Longdate:........Saturday,June26,2004

(t)Shorttime:.......8:11PM

(T)Longtime:........8:11:04PM

(f)Fulldate/shorttime:..Saturday,June26,20048:11PM

(F)Fulldate/longtime:...Saturday,June26,20048:11:04PM

(g)Generaldate/shorttime:.6/26/20048:11PM

(G)Generaldate/longtime:.6/26/20048:11:04PM

(M)Month:..........June26

(R)RFC1123:.........Sat,26Jun200420:11:04GMT

(s)Sortable:........2004-06-26T20:11:04

(u)Universalsortable:...2004-06-2620:11:04Z(invariant)

(U)Universalsortable:...Sunday,June27,20043:11:04AM

(Y)Year:..........June,2004

(G)General:.........Green

(F)Flags:..........Green(flagsorinteger)

(D)Decimalnumber:.....3

(X)Hexadecimal:.......00000003

说明:
String.Format
将指定的String中的每个格式项替换为相应对象的值的文本等效项。

例子:

intiVisit=100;
stringszName="Jackfled";
Response.Write(String.Format("您的帐号是:{0}。访问了{1}次.",szName,iVisit));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值