asp.net(c#)数据类型格式转换大全

时间:2023-01-02 10:08:59

1、DateTime   数字型  
       System.DateTime currentTime=new System.DateTime();  
  1.1 取当前年月日时分秒  
       currentTime=System.DateTime.Now;  
  1.2 取当前年  
       int 年=currentTime.Year;  
  1.3 取当前月  
       int 月=currentTime.Month;  
  1.4 取当前日  
       int 日=currentTime.Day;  
  1.5 取当前时  
       int 时=currentTime.Hour;  
  1.6 取当前分  
       int 分=currentTime.Minute;  
  1.7 取当前秒  
       int 秒=currentTime.Second;  
  1.8 取当前毫秒  
    int 毫秒=currentTime.Millisecond;  
    (变量可用中文) 

2、Int32.Parse(变量)            Int32.Parse("常量")  
   字符型转换 转为32位数字型 

3、  变量.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% 


4、变量.Length  数字型  
   取字串长度:  
      如: string str="中国";  
           int Len = str.Length ;    //Len是自定义变量, str是求测的字串的变量名 

5、System.Text.Encoding.Default.GetBytes(变量)  
   字码转换 转为比特码  
      如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);  
   然后可得到比特长度:  
      len = bytStr.Length; 

6、System.Text.StringBuilder("")  
    字符串相加,(+号是不是也一样?)  
    如:System.Text.StringBuilder sb = new System.Text.StringBuilder("");  
       sb.Append("中华");  
       sb.Append("人民");  
       sb.Append("*"); 

7、变量.Substring(参数1,参数2);  
    截取字串的一部分,参数1为左起始位数,参数2为截取几位。  
    如:string s1 = str.Substring(0,2); 

8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    取远程用户IP地址 

9、穿过代理服务器取远程用户真实IP地址:  
   if(Request.ServerVariables["HTTP_VIA"]!=null){  
      string  user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();  
     }else{  
      string  user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString();  
    }  
      
10、  Session["变量"];    
      存取Session值;  
      如,赋值:  Session["username"]="小布什"; 

          取值:  Object objName=Session["username"];  
                  String strName=objName.ToString();  
          清空:  Session.RemoveAll(); 

11、String str=Request.QueryString["变量"];  
      用超链接传送变量。  
       如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a>  
       在Edit.aspx页中取值:String str=Request.QueryString["fdid"]; 

12、DOC对象.CreateElement("新建节点名");  
      创建XML文档新节点 

13、父节点.AppendChild(子节点);  
      将新建的子节点加到XML文档父节点下 

14、 父节点.RemoveChild(节点);  
       删除节点 

15、Response  
    Response.Write("字串");  
    Response.Write(变量);  
       向页面输出。 

    Response.Redirect("URL地址");  
       跳转到URL指定的页面 

16、char.IsWhiteSpce(字串变量,位数)——逻辑型  
    查指定位置是否空字符;  
    如:  
    string str="中国  人民";  
    Response.Write(char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。 

17、char.IsPunctuation('字符')  --逻辑型  
    查字符是否是标点符号  
   如:Response.Write(char.IsPunctuation('A'));   //返回:False 

18、(int)'字符'  
    把字符转为数字,查代码点,注意是单引号。  
    如:  
    Response.Write((int)'中');   //结果为中字的代码:20013 

19、(char)代码  
    把数字转为字符,查代码代表的字符。  
   如:  
   Response.Write((char)22269);   //返回“国”字。  
     
20、 Trim()  
     清除字串前后空格 

21 、字串变量.Replace("子字串","替换为")  
     字串替换  
     如:  
     string str="中国";  
     str=str.Replace("国","央");  //将国字换为央字  
     Response.Write(str);     //输出结果为“*” 

     再如:(这个非常实用) 

       string str="这是<script>脚本";  
       str=str.Replace("<","<font><</font>");  //将左尖括号替换为<font> 与 < 与 </font> (或换为&lt,但估计经XML存诸后,再提出仍会还原)  
       Response.Write(str); //显示为:“这是<script>脚本” 

      如果不替换,<script>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。  
      这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 
     具体实现:将你的表单提交按钮脚本加上下面代码:  
     string strSubmit=label1.Text;   //label1是你让用户提交数据的控件ID。  
     strSubmit=strSubmit.Replace("<","<font><</font>");   
     然后保存或输出strSubmit。  
     用此方法还可以简单实现UBB代码。 

22、Math.Max(i,j)  
    取i与j中的最大值  
    如 int x=Math.Max(5,10);  // x将取值 10

 

-------------------------------------------------------------

asp.net/c#字符格式化大总结
一、用{0:?}格式化

可通过 String.Format 方法或通过 Console.Write 方法格式化数值结果,其中后一种方法调用 String.Format。使用格式字符串指定格式。下表包含受支持的标准格式字符串。格式字符串采用的形式为 Axx,其中 A 为“格式说明符”,而 xx 为“精度说明符”。格式说明符控制应用于数值的格式化类型,而精度说明符控制格式化输出的有效位数或小数位数。

有关标准及自定义格式化字符串的更多信息,请参阅格式化概述。有关 String.Format 方法的更多信息,请参阅 String.Format 方法。

字符 说明 示例 输出 
C 或 c 货币 Console.Write("{0:C}", 2.5); 
Console.Write("{0:C}", -2.5);
 $2.50 
($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); 
Console.Write("{0:F0}", 25);
 25.00 
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); 
Console.Write("{0:X}", 0xffff);
 FA 
FFFF
 

二、日期格式化

标准 DateTime 格式字符串
如果格式字符串只包含下表列出的某个单个格式说明符,则它们被解释为标准格式说明符。如果指定的格式字符是单个字符并且不包含在下表中,则引发异常。如果格式字符串在长度上比单个字符长(即使多余的字符是空白),则格式字符串被解释为自定义格式字符串。请注意,这些格式说明符产生的模式受“区域选项”控制面板中的设置的影响。具有不同区域性或不同日期与时间设置的计算机将显示不同的模式。

格式字符串显示的时间和日期分隔符由与当前区域性的 DateTimeFormat 属性关联的 DateSeparator 和 TimeSeparator 字符定义。然而,如果 InvariantCulture 被“r”、“s”和“u”说明符引用,与 DateSeparator 和 TimeSeparator 字符关联的字符不随当前区域性更改。下表描述了格式化 DateTime 对象的标准格式字符串。

格式说明符 名称 说明 
d 短日期模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。 
D 长日期模式 显示由与当前线程关联的 DateTimeFormatInfo.LongDatePattern 属性定义的模式或者由指定格式提供程序定义的模式。 
t 短时间模式 显示由与当前线程关联的 DateTimeFormatInfo.ShortTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。 
T 长时间模式 显示由与当前线程关联的 DateTimeFormatInfo.LongTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。 
f 完整日期/时间模式(短时间) 显示长日期和短时间模式的组合,由空格分隔。 
F 完整日期/时间模式(长时间) 显示由与当前线程关联的 DateTimeFormatInfo.FullDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。 
g 常规日期/时间模式(短时间) 显示短日期和短时间模式的组合,由空格分隔。 
G 常规日期/时间模式(长时间) 显示短日期和长时间模式的组合,由空格分隔。 
M 或 m 月日模式 显示由与当前线程关联的 DateTimeFormatInfo.MonthDayPattern 属性定义的模式或者由指定格式提供程序定义的模式。 
R 或 r RFC1123 模式 显示由与当前线程关联的 DateTimeFormatInfo.RFC1123Pattern 属性定义的模式或者由指定格式提供程序定义的模式。这是定义的标准,并且属性是只读的;因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。属性引用 CultureInfo.InvariantCulture 属性并遵照自定义模式“ddd, dd MMMM yyyy HH:mm:ss G\MT”。请注意,“GMT”中的“M”需要转义符,因此它不被解释。 
s 可排序的日期/时间模式;符合 ISO 8601 显示由与当前线程关联的 DateTimeFormatInfo.SortableDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。属性引用 CultureInfo.InvariantCulture 属性,格式遵照自定义模式“yyyy-MM-ddTHH:mm:ss”。 
u 通用的可排序日期/时间模式 显示由与当前线程关联的 DateTimeFormatInfo.UniversalSortableDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。因为它是定义的标准,并且属性是只读的,因此无论区域性或格式提供程序是什么,模式总是相同的。格式遵照自定义模式“yyyy-MM-dd HH:mm:ssZ”。 
U 通用的可排序日期/时间模式 显示由与当前线程关联的 DateTimeFormatInfo.FullDateTimePattern 属性定义的模式或者由指定格式提供程序定义的模式。请注意,显示的时间是通用时间,而不是本地时间。 
Y 或 y 年月模式 显示由与当前线程关联的 DateTimeFormatInfo.YearMonthPattern 属性定义的模式或者由指定格式提供程序定义的模式。 
任何其他单个字符 未知说明符  

下表显示了格式说明符示例的列表,这些示例应用于公开当前日期和时间信息的 DateTime.Now 的任意值。示例中给出了不同的区域性设置以阐释更改当前区域性的影响。这通常以下面几种方式更改:使用 Microsoft Windows 中的“日期/时间”控制面板,将您自己的 DateTimeFormatInfo 对象作为格式提供程序传递,或将 CultureInfo 对象设置传递给不同的区域性。请注意,对于“r”和“s”格式,更改区域性不影响输出。此表是说明标准日期和时间说明符如何影响格式化的快速指南。请参阅该表下面阐释这些说明符的代码示例部分。

格式说明符 当前区域性 输出 
d en-US 4/10/2001 
d en-NZ 10/04/2001 
d de-DE 10.04.2001 
D en-US Tuesday, April 10, 2001 
T en-US 3:51:24 PM 
T es-ES 15:51:24 
f en-US Tuesday, April 10, 2001 3:51 PM 
f fr-FR mardi 10 avril 2001 15:51 
r en-US Tue, 10 Apr 2001 15:51:24 GMT 
r zh-SG Tue, 10 Apr 2001 15:51:24 GMT 
s en-US 2001-04-10T15:51:24 
s pt-BR 2001-04-10T15:51:24 
u en-US 2001-04-10 15:51:24Z 
u sv-FI 2001-04-10 15:51:24Z 
m en-US April 10 
m ms-MY 10 April 
y en-US April, 2001 
y af-ZA April 2001 
L en-UZ 无法识别的格式说明符;引发格式异常。

下面的代码示例阐释如何使用对 DateTime 对象使用自定义格式字符串。

[Visual Basic]Dim dt As DateTime = DateTime.NowDim dfi As DateTimeFormatInfo = New DateTimeFormatInfo()Dim ci As CultureInfo = New CultureInfo("de-DE")' Make up a new custom DateTime pattern, for demonstration.dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"' Use the DateTimeFormat from the culture associated ' with the current thread.Console.WriteLine( dt.ToString("d") )  Console.WriteLine( dt.ToString("m") )' Use the DateTimeFormat from the specific culture passed.Console.WriteLine( dt.ToString("d", ci ) )' Use the settings from the DateTimeFormatInfo object passed.Console.WriteLine( dt.ToString("m", dfi ) )' Reset the current thread to a different culture.Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-BE")Console.WriteLine( dt.ToString("d") )[C#]DateTime dt = DateTime.Now;DateTimeFormatInfo dfi = new DateTimeFormatInfo();CultureInfo ci = new CultureInfo("de-DE");// Make up a new custom DateTime pattern, for demonstration.dfi.MonthDayPattern = "MM-MMMM, ddd-dddd";// Use the DateTimeFormat from the culture associated // with the current thread.Console.WriteLine( dt.ToString("d") );  Console.WriteLine( dt.ToString("m") );// Use the DateTimeFormat from the specific culture passed.Console.WriteLine( dt.ToString("d", ci ) );// Use the settings from the DateTimeFormatInfo object passed.Console.WriteLine( dt.ToString("m", dfi ) );// Reset the current thread to a different culture.Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");Console.WriteLine( dt.ToString("d") );自定义 DateTime 格式字符串
有时需要对 DateTime 对象的格式化有更多的控制。作为标准 DateTime 格式的替换方法,您可以使用自定义 DateTime 格式字符串构造您自己的 DateTime 格式化模式。实际上,标准格式就是从这些自定义格式说明符派生的。

下表显示了自定义格式说明符并描述了它们产生的值。这些字符串的输出受“区域选项”控制面板中的当前区域性和设置的影响。

格式说明符 说明 
d 显示月份的当前日期,以 1 到 31 之间的一个数字表示,包括 1 和 31。如果日期只有一位数字 (1-9),则它显示为一位数字。 
请注意,如果“d”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准短日期模式格式说明符。如果“d”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
dd 显示月份的当前日期,以 1 到 31 之间的一个数字表示,包括 1 和 31。如果日期只有一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。 
ddd 显示指定 DateTime 对象的日部分缩写名称。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 AbbreviatedDayNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 AbbreviatedDayNames 属性。 
dddd(外加任意数量的附加“d”字符) 显示指定 DateTime 对象的日部分全名。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 DayNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 DayNames 属性。 
f 显示以一位数字表示的秒。 
请注意,如果“f”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为完整的(长日期 + 短时间)格式说明符。如果“f”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
ff 显示以二位数字表示的秒。 
fff 显示以三位数字表示的秒。 
ffff 显示以四位数字表示的秒。 
fffff 显示以五位数字表示的秒。 
ffffff 显示以六位数字表示的秒。 
fffffff 显示以七位数字表示的秒。 
g 或 gg(外加任意数量的附加“g”字符) 显示指定 DateTime 对象的年代部分(例如 A.D.)。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则年代由与 DateTimeFormat 对象关联的日历及其与当前线程关联的当前区域性确定。 
请注意,如果“g”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准常规格式说明符。如果“g”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
h 以 1 到 12 这一范围中的一个数字显示指定 DateTime 对象的小时部分。该小时部分表示自午夜(显示为 12)或中午(也显示为 12)后所经过的整小时数。如果单独使用这种格式,则无法区别某一小时是中午以前还是中午以后的时间。如果该小时是单个数字 (1-9),则它显示为单个数字。显示小时时不发生任何舍入。例如,DateTime 为 5:43 时返回 5。 
hh, hh(外加任意数量的附加“h”字符) 以 1 到 12 这一范围中的一个数字显示指定 DateTime 对象的小时部分。该小时部分表示自午夜(显示为 12)或中午(也显示为 12)后所经过的整小时数。如果单独使用这种格式,则无法区别某一小时是中午以前还是中午以后的时间。如果该小时是单个数字 (1-9),则将其格式化为前面带有 0 (01-09)。 
H 以 0 到 23 这一范围中的一个数字显示指定 DateTime 对象的小时部分。该小时部分表示自午夜(显示为 0)后所经过的整小时数。如果该小时是单个数字 (0-9),则它显示为单个数字。 
HH, HH(外加任意数量的附加“H”字符) 以 0 到 23 这一范围中的一个数字显示指定 DateTime 对象的小时部分。该小时部分表示自午夜(显示为 0)后所经过的整小时数。如果该小时是单个数字 (0-9),则将其格式化为前面带有 0 (01-09)。 
m 以 0 到 59 这一范围中的一个数字显示指定 DateTime 对象的分钟部分。该分钟部分表示自上个小时后所经过的整分钟数。如果分钟是一位数字 (0-9),则它显示为一位数字。 
请注意,如果“m”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的月日模式格式说明符。如果“m”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
mm, mm(外加任意数量的附加“m”字符) 以 0 到 59 这一范围中的一个数字显示指定 DateTime 对象的分钟部分。该分钟部分表示自上个小时后所经过的整分钟数。如果分钟是一位数字 (0-9),则将其格式化为带有前导 0 (01-09)。 
M 显示当前月份,以 1 到 12 之间的一个数字表示,包括 1 和 12。如果月份是一位数字 (1-9),则它显示为一位数字。 
请注意,如果“M”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的月天模式格式说明符。如果“M”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
MM 显示当前月份,以 1 到 12 之间的一个数字表示,包括 1 和 12。如果月份是一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。 
MMM 显示指定 DateTime 对象的月部分缩写名称。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 AbbreviatedMonthNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 AbbreviatedMonthNames 属性。 
MMMM 显示指定 DateTime 对象的月部分全名。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 MonthNames 属性及其与当前线程关联的当前区域性。否则,使用来自指定格式提供程序的 MonthNames 属性。 
s 以 0 到 59 这一范围中的一个数字显示指定 DateTime 对象的秒部分。该秒部分表示自上一分钟后经过的整秒数。如果秒是一位数字 (0-9),则它仅显示为一位数字。 
请注意,如果“s”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的可排序日期/时间模式格式说明符。如果“s”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
ss, ss(外加任意数量的附加“s”字符) 以 0 到 59 这一范围中的一个数字显示指定 DateTime 对象的秒部分。该秒部分表示自上一分钟后经过的整秒数。如果秒是一位数字 (0-9),则将其格式化为带有前导 0 (01-09)。 
t 显示指定 DateTime 对象 A.M./P.M. 指示项的第一个字符。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。否则,使用来自指定 IFormatProvider 的 AMDesignator(或 PMDesignator)属性。如果对于指定的 DateTime 所经过的总整小时数小于 12,则使用 AMDesignator。否则,使用 PMDesignator。 
请注意,如果“t”格式说明符单独使用,没有其他自定义格式字符串,则它被解释为标准的长时间模式格式说明符。如果“t”格式说明符与其他自定义格式说明符一起传递,则它被解释为自定义格式说明符。
 
tt, tt(外加任意数量的附加“t”字符) 显示指定 DateTime 对象的 A.M./P.M. 指示项。如果未提供特定的有效格式提供程序(实现具有预期属性的 IFormatProvider 的非空对象),则使用 DateTimeFormat 对象的 AMDesignator(或 PMDesignator)属性及其与当前线程关联的当前区域性。否则,使用来自指定 IFormatProvider 的 AMDesignator(或 PMDesignator)属性。如果对于指定的 DateTime 所经过的总整小时数小于 12,则使用 AMDesignator。否则,使用 PMDesignator。 
y 将指定 DateTime 对象的年份部分显示为位数最多为两位的数字。忽略年的前两位数字。如果年份是一位数字 (1-9),则它显示为一位数字。 
yy 将指定 DateTime 对象的年份部分显示为位数最多为两位的数字。忽略年的前两位数字。如果年份是一位数字 (1-9),则将其格式化为带有前导 0 (01-09)。 
yyyy 显示指定 DateTime 对象的年份部分(包括世纪)。如果年份长度小于四位,则按需要在前面追加零以使显示的年份长度达到四位。 
z 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为“+0”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值的范围是 –12 到 +13。如果偏移量为一位数 (0-9),则将其显示为带合适前导符号的一位数。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。 
zz 仅以整小时数为单位显示系统当前时区的时区偏移量。偏移量总显示为带有前导或尾随符号(零显示为“+00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时数。值范围为 –12 到 +13。如果偏移量为单个数字 (0-9),则将其格式化为前面带有 0 (01-09) 并带有适当的前导符号。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。 
zzz, zzz(外加任意数量的附加“z”字符) 以小时和分钟为单位显示系统当前时区的时区偏移量。偏移量总是显示为带有前导或尾随符号(零显示为“+00:00”),指示早于格林威治时间 (+) 或迟于格林威治时间 (-) 的小时和分钟数。值范围为 –12 到 +13。如果偏移量为单个数字 (0-9),则将其格式化为前面带有 0 (01-09) 并带有适当的前导符号。该时区的设置指定为 +X 或 –X,其中 X 是相对 GMT 以小时为单位的偏移量。所显示的偏移量受夏时制的影响。 
: 时间分隔符。 
/ 日期分隔符。 
" 带引号的字符串。显示转义符 (/) 之后两个引号之间的任何字符串的文本值。  
' 带引号的字符串。显示两个“'”字符之间的任何字符串的文本值。 
%c 其中 c 是标准格式字符,显示与格式字符关联的标准格式模式。 
\c 其中 c 是任意字符,转义符将下一个字符显示为文本。在此上下文中,转义符不能用于创建转义序列(如“\n”表示换行)。 
任何其他字符 其他字符作为文本直接写入输出字符串。

向 DateTime.ToString 传递自定义模式时,模式必须至少为两个字符长。如果只传递“d”,则公共语言运行库将其解释为标准格式说明符,这是因为所有单个格式说明符都被解释为标准格式说明符。如果传递单个“h”,则引发异常,原因是不存在标准的“h”格式说明符。若要只使用单个自定义格式进行格式化,请在说明符的前面或后面添加一个空格。例如,格式字符串“h”被解释为自定义格式字符串。

下表显示使用任意值 DateTime.Now(该值显示当前时间)的示例。示例中给出了不同的区域性和时区设置,以阐释更改区域性的影响。可以通过下列方法更改当前区域性:更改 Microsoft Windows 的“日期/时间”控制面板中的值,传递您自己的 DateTimeFormatInfo 对象,或将 CultureInfo 对象设置传递给不同的区域性。此表是说明自定义日期和时间说明符如何影响格式化的快速指南。请参阅该表下面阐释这些说明符的代码示例部分。

格式说明符 当前区域性 时区 输出 
d, M en-US GMT 12, 4 
d, M es-MX GMT 12, 4 
d MMMM en-US GMT 12 April 
d MMMM es-MX GMT 12 Abril 
dddd MMMM yy gg en-US GMT Thursday April 01 A.D. 
dddd MMMM yy gg es-MX GMT Jueves Abril 01 DC 
h , m: s en-US GMT 6 , 13: 12 
hh,mm:ss en-US GMT 06,13:12 
HH-mm-ss-tt en-US GMT 06-13-12-AM 
hh:mm, G\MT z  en-US GMT 05:13 GMT +0 
hh:mm, G\MT z  en-US GMT +10:00 05:13 GMT +10 
hh:mm, G\MT zzz en-US GMT 05:13 GMT +00:00 
hh:mm, G\MT zzz en-US GMT -9:00 05:13 GMT -09:00

请注意,在某些语言(如 C#)中,“\”字符在与 ToString 方法共用时,它前面必须有转义符。

下面的代码示例阐释如何从 DateTime 对象创建自定义格式化字符串。此示例假定当前区域性是美国英语 (en-US)。

[Visual Basic]Dim MyDate As New DateTime(2000, 1, 1, 0, 0, 0)Dim MyString As String = MyDate.ToString("dddd - d - MMMM")//' In the U.S. English culture, MyString has the value: ' "Saturday - 1 - January".MyString = MyDate.ToString("yyyy gg")//' In the U.S. English culture, MyString has the value: "2000 A.D.".[C#]DateTime MyDate = new DateTime(2000, 1, 1, 0, 0, 0);String MyString = MyDate.ToString("dddd - d - MMMM");// In the U.S. English culture, MyString has the value:  "Saturday - 1 - January".MyString = MyDate.ToString("yyyy gg");// In the U.S. English culture, MyString has the value: "2000 A.D.".

 

 

=-----------------------------------------------------------------
ASP.net中太长的数据缩略显示
问题:
  用<%# DataBinder.Eval(Container.DataItem,"NewsID")%>显示数据的,如果标题太长了怎么规定字数,多余的用"..."代替

解决方法:

1.使用后台代码解决:
cs文件代码:
protected string yourstring (newid)
{
string s
if (newid.Length>10)
{
....  
return s
}
else{
.....
return s
}
}
前台ASPX调用的代码:
<%# yourstring (DataBinder.Eval(Container.DataItem,"NewsID"))%>
也就是先处理,后调用绑定

2.用三元表示符
<%# DataBinder.Eval(Container.DataItem,"Title") %>改成:<%#

DataBinder.Eval(Container.DataItem,"Title").ToString().Length>13?

DataBinder.Eval(Container.DataItem,"Title").ToString().SubString(0,13):DataBinder.

 

 

-------------------------------------------------------------------------
Every object has a method called ToString that returns a string representation of the object. The ToString method can accept a string parameter, which tells the object how to format itself - in the String.Format call, the formatting string is passed after the position, for example, “{0:##}”

The text inside the curly braces is {index[,alignment][:formatString]}. If alignment is positive, the text is right-aligned in a field the given number of spaces; if it’s negative, it’s left-aligned.

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:(###) ###-####}”, 8005551212);

This will output “(800) 555-1212″.

 

-------------------------------------------------------------------------
{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:00 AM

{0:男;;女}

DataGrid-数据格式设置表达式

数据格式设置表达式

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

{0:format specifier}

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

格式设置表达式

 

应用于此数据类型

 

说明

 

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, August 06, 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」,不但让使比较好阅读,也会让使用者减少犯错的机会。
下列画面为润饰过的结果:
上述数据除了将DataGrid Web 控件以颜色来区隔记录外,最主要将日期、单价以及小计这三个计字段的数据修饰的更容易阅读。要修饰字段的输出,只要设定字段的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}" 12345 12345
"{0:D8}" 12345 00012345
"{0:E}" 12345.6789 1234568E+004
"{0:E10}" 12345.6789 1.2345678900E+004
"{0:F}" 12345.6789 12345.68
"{0:F0}" 12345.6789 12346
"{0:G}" 12345.6789 12345.6789
"{0:G7}" 123456789 1.234568E8
"{0:N}" 12345.6789 12,345.68
"{0:N4}" 123456789 123,456,789.0000
"Total: {0:C}" 12345.6789 Total: $12345.68

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

格式 说明 输出格式
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F
完整日期时间格式
(long date + long time)
dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH: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) Fixed point:. . . . . . . -123.45

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

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

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

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

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

(d) Short date: . . . . . . . 6/26/2004

(D) Long date:. . . . . . . . Saturday, June 26, 2004

(t) Short time: . . . . . . . 8:11 PM

(T) Long time:. . . . . . . . 8:11:04 PM

(f) Full date/short time: . . Saturday, June 26, 2004 8:11 PM

(F) Full date/long time:. . . Saturday, June 26, 2004 8:11:04 PM

(g) General date/short time:. 6/26/2004 8:11 PM

(G) General date/long time: . 6/26/2004 8:11:04 PM

(M) Month:. . . . . . . . . . June 26

(R) RFC1123:. . . . . . . . . Sat, 26 Jun 2004 20:11:04 GMT

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

(u) Universal sortable: . . . 2004-06-26 20:11:04Z (invariant)

(U) Universal sortable: . . . Sunday, June 27, 2004 3:11:04 AM

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

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

(F) Flags:. . . . . . . . . . Green (flags or integer)

(D) Decimal number: . . . . . 3

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

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

例子:

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