标签:beyond char make timezone binder hex cep ext substr
原文发布时间为:2009-08-26 —— 来源于本人的百度文章 [由搬家工具导入]
使用范例:<%#Eval("date","{0:d}") %>
<%# databinder.eval(container.dataitem, "integervalue", "{0:c}") %>
格式化字符串参数是可选的。如果忽略参数,databinder.eval 返回对象类型的值,
//显示二位小数
<%# databinder.eval(container.dataitem, "unitprice", "${0:f2}") %>
//{0:g}代表显示true或false
<itemtemplate>
<asp:image width="12" height="12" border="0" runat="server"
alternatetext='<%# databinder.eval(container.dataitem, "discontinued", "{0:g}") %>'
imageurl='<%# databinder.eval(container.dataitem, "discontinued", "~/images/{0:g}.gif") %>' />
</itemtemplate>
//转换类型
((string)databinder.eval(container, "dataitem.p_ship_time_sbm8")).substring(4,4)
{0:d} 日期只显示年月日
{0:yyyy-mm-dd} 按格式显示年月日
{0:c} 货币样式
<%#container.dataitem("price","{0:¥#,##0.00}")%>
<%# databinder.eval(container.dataitem,"company_ureg_date","{0:yyyy-m-d}")%>
specifier type format output (passed double 1.42) output (passed int -12400)
c currency {0:c} $1.42 -$12,400
d decimal {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
{0:d} 日期只显示年月日
{0:yyyy-mm-dd} 按格式显示年月日
样式取决于 web.config 中的设置
{0:c} 或 {0:£0,000.00} 货币样式 标准英国货币样式
<system.web>
<globalization requestencoding="utf-8" responseencoding="utf-8" culture="en-us" uiculture="en-us" />
</system.web>
显示为 £3,000.10
{0:c} 或 string.format("{0:c}", price); 中国货币样式
<system.web>
<globalization requestencoding="utf-8" responseencoding="utf-8" culture="zh-cn" uiculture="zh-cn" />
</system.web>
显示为 ¥3,000.10
{0:c} 或 string.format("{0:c}", price); 美国货币样式
<system.web>
<globalization requestencoding="utf-8" responseencoding="utf-8" />
</system.web>
显示为 $3,000.10
============
stringstr1 =string.Format("{0:N1}",56789); //result: 56,789.0
stringstr2 =string.Format("{0:N2}",56789); //result: 56,789.00
stringstr3 =string.Format("{0:N3}",56789); //result: 56,789.000
stringstr8 =string.Format("{0:F1}",56789); //result: 56789.0
stringstr9 =string.Format("{0:F2}",56789); //result: 56789.00
stringstr11 =(56789 / 100.0).ToString("#.##"); //result: 567.89
stringstr12 =(56789 / 100).ToString("#.##"); //result: 567
C 或 c
货币
Console.Write("{0:C}", 2.5); / 2.50
Console.Write("{0:C}", -2.5); //($2.50)
D 或 d
十进制数
Console.Write("{0:D5}", 25); //00025
E 或 e
科学型
Console.Write("{0:E}", 250000); //2.500000E+005
F 或 f
固定点
Console.Write("{0:F2}", 25); //25.00
Console.Write("{0:F0}", 25); //25
G 或 g
常规
Console.Write("{0:G}", 2.5); //2.5
N 或 n
数字
Console.Write("{0:N}", 2500000); //2,500,000.00
X 或 x
十六进制
Console.Write("{0:X}", 250); //FA
Console.Write("{0:X}", 0xffff); //FFFF
字符
说明
示例
输出
C货币string.Format("{0:C3}", 2)$2.000D十进制string.Format("{0:D3}", 2)002E科学计数法1.20E+0011.20E+001G常规string.Format("{0:G}", 2)2N用分号隔开的数字string.Format("{0:N}", 250000)250,000.00X十六进制string.Format("{0:X000}", 12)CThere really isn't any formatting within a strong, beyond it's alignment. Alignment works for any argument being printed in a String.Format call.
SampleGeneratesString.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)
Custom number formatting:
SpecifierTypeExampleOutput (Passed Double 1500.42)Note0Zero placeholder{0:00.0000}1500.4200Pads with zeroes.#Digit placeholder{0:(#).##}(1500).42
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:
DatesNote 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/2002DLong dateDecember 10, 2002tShort time10:11 PMTLong time10:11:29 PMfFull date & timeDecember 10, 2002 10:11 PMFFull date & time (long)December 10, 2002 10:11:29 PMgDefault date & time10/12/2002 10:11 PMGDefault date & time (long)10/12/2002 10:11:29 PMMMonth day patternDecember 10rRFC1123 date stringTue, 10 Dec 2002 22:11:29 GMTsSortable date string2002-12-10T22:11:29uUniversal sortable, local time2002-12-10 22:13:50ZUUniversal sortable, GMTDecember 11, 2002 3:13:50 AMYYear month patternDecember, 2002
The 'U' specifier seems broken; that string certainly isn't sortable.
Custom date formatting:
SpecifierTypeExampleExample OutputddDay{0:dd}10dddDay name{0:ddd}TueddddFull day name{0:dddd}Tuesdayf, ff, ...Second fractions{0:fff}932gg, ...Era{0:gg}A.D.hh2 digit hour{0:hh}10HH2 digit hour, 24hr format{0:HH}22mmMinute 00-59{0:mm}38MMMonth 01-12{0:MM}12MMMMonth abbreviation{0:MMM}DecMMMMFull month name{0:MMMM}DecemberssSeconds 00-59{0:ss}46ttAM or PM{0:tt}PMyyYear, 2 digits{0:yy}02yyyyYear{0:yyyy}2002zzTimezone offset, 2 digits{0:zz}-05zzzFull timezone offset{0:zzz}-05:00:Separator{0:hh:mm:ss}10:43:20/Separator{0:dd/MM/yyyy}10/12/2002Enumerations
SpecifierTypegDefault (Flag names if available, otherwise decimal)fFlags alwaysdInteger alwaysxEight 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%
再添加一点
格式字符 名称 说明标签:beyond char make timezone binder hex cep ext substr
原文地址:http://www.cnblogs.com/handboy/p/7158360.html