原文发布时间为: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#格式化数值结果表

字符

说明

示例

输出

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)C

string.Format("{0:000.000}", 12.2)012.200Strings

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.

 

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)

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

Custom number formatting:

 

SpecifierTypeExampleOutput (Passed Double 1500.42)Note0Zero 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/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%

再添加一点

格式字符     名称     说明    
0
  零占位符
  如果格式化的值在格式字符串中出现“0”的位置有一个数字,则此数字被复制到输出字符串中。小数点前最左边的“0”的位置和小数点后最右边的“0”的位置确定总在输出字符串中出现的数字范围。“00”说明符使得值被舍入到小数点前最近的数字,其中零位总被舍去。例如,用“00”格式化   34.5   将得到值   35。
 
#
  数字占位符
  如果格式化的值在格式字符串中出现“#”的位置有一个数字,则此数字被复制到输出字符串中。否则,输出字符串中的此位置不存储任何值。请注意,如果“0”不是有效数字,此说明符永不显示“0”字符,即使“0”是字符串中唯一的数字。如果“0”是所显示的数字中的有效数字,则显示“0”字符。“##”格式字符串使得值被舍入到小数点前最近的数字,其中零总被舍去。例如,用“##”格式化   34.5   将得到值   35。
 
.
  小数点
  格式字符串中的第一个“.”字符确定格式化的值中的小数点分隔符的位置;任何其他“.”字符被忽略。用作小数点分隔符的实际字符由控制格式化的   NumberFormatInfo   的   NumberDecimalSeparator   属性确定。
 
,
  千位分隔符和数字比例换算
  “,”字符有两种用途。首先,如果格式字符串在小数点(如果有)左边的两个数字占位符(0   或   #)之间包含“,”字符,则输出将在小数点分隔符左边的每三个数字之间插入千位分隔符。输出字符串中用作小数点分隔符的实际字符由控制格式化的当前   NumberFormatInfo   的   NumberGroupSeparator   属性确定。

其次,如果格式字符串在紧邻小数点的左侧包含一个或多个“,”字符,则数字在格式化之前将被“,”字符数除然后乘以   1000。例如,格式字符串“0,,”将   100,000,000   简单表示为   100。使用“,”字符指示比例换算在格式化数字中不包括千位分隔符。因此,若要将数字缩小   1,000,000   倍并插入千位分隔符,应使用格式字符串“#,##0,,”。
 
%
  百分比占位符
  在格式字符串中出现“%”字符将导致数字在格式化之前乘以   100。适当的符号插入到数字本身在格式字符串中出现“%”的位置。使用的百分比字符由当前的   NumberFormatInfo   类确定。
 
E0

E+0

E-0

e0

e+0

e-0
  科学计数法
  如果“E”、“E+”、“E-”、“e”、“e+”或“e-”中的任何一个字符串出现在格式字符串中,而且后面紧跟至少一个“0”字符,则数字用科学计数法来格式化,在数字和指数之间插入“E”或“e”。跟在科学计数法指示符后面的“0”字符数确定指数输出的最小位数。“E+”和“e+”格式指示符号字符(正号或负号)应总是置于指数前面。“E”、“E-”、“e”或“e-”格式指示符号字符仅置于负指数前面。
 
\
  转义符
  在   C#   和   C++   中,反斜杠字符使格式字符串中的下一个字符被解释为转义序列。它与传统的格式化序列一起使用,如“\n”(换行)。

在某些语言中,转义符本身用作文本时必须跟在转义符之后。否则,编译器将该字符理解为转义符。使用字符串“\\”显示“\”。

请注意,Visual   Basic   中不支持此转义符,但是   ControlChars   提供相同的功能。
 
'ABC '

"ABC "
  字符串
  引在单引号或双引号中的字符被原样复制到输出字符串中,而且不影响格式化。
 
;
  部分分隔符
  “;”字符用于分隔格式字符串中的正数、负数和零各部分。
 
其他
  所有其他字符
  所有其他字符以文本形式复制到输出字符串中它们出现的位置。

Eval的格式,主要看大括号的格式,其他不用那样写的更多相关文章

  1. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  2. @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 前台request 获取body的格式是正确的 (2018-03-23 16:44:22) 但是Java 后台却格式化成了yyyy-MM-dd的格式 巨坑(@InitBinder搞得贵)

    最近做项目时,同事写的功能总是格式化时间不正确,Java类属性明明注解了@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")  但就是硬 ...

  3. H.264流媒体协议格式中的Annex B格式和AVCC格式深度解析

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Romantic_Energy/article/details/50508332本文需要读者对H.26 ...

  4. Linux下AT&T汇编语法格式与Intel汇编语法格式异同

    由于绝大多数的国内程序员以前只接触过Intel格式的汇编语言,很少或几乎没有接触过AT&T汇编语言,虽然这些汇编代码都是Intel风格的.但在Unix和Linux系统中,更多采用的还是AT&a ...

  5. Java图片处理:ico格式转 PNG/JPG等格式

    一. 什么是ico图标? ico是一种图标格式,大量应用于网站,各个软件的logo或图标展示. 我们在进入某个网站或网页,它们上方标题左侧各自都带有logo图标. 这就是favicon.ico图标,它 ...

  6. Excel表格文本格式的数字和数字格式如何批量转换

    Excel表格文本格式的数字和数字格式如何批量转换 在使用Excel表格对数据求和时,只能对单元格内常规格式的数据进行计算,而不能对单元格中的文本格式的数据进行计算,特点就是在单元格的左上角有一个绿色 ...

  7. 2019-10-15-从以前的项目格式迁移到-VS2017-新项目格式

    title author date CreateTime categories 从以前的项目格式迁移到 VS2017 新项目格式 lindexi 2019-10-15 14:9:27 +0800 20 ...

  8. [转] 将DOS格式文本文件转换成UNIX格式

    点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...

  9. 【转】将 azw3 格式转换为 mobi 格式并保持原有排版格式

    小伙伴多次向 Kindle 伴侣提出一个问题,那就是通过 Calibre 将排版精美的 azw3 格式电子书转换成 mobi 格式后推送到 Kindle,排版格式会发生很大的变化,比如行距过窄.内嵌字 ...

随机推荐

  1. PHP添加扩展模块的方法

    进入源码包对应扩展模块目录下 ##extname 代表扩展模块名 cd /usr/local/src/php-5.5.36/ext/extname 然后执行phpize##phpize是一个shell ...

  2. Ajax基础知识梳理

    Ajax用一句话来说就是无须刷新页面即可从服务器取得数据.注意,虽然Ajax翻译过来叫异步JavaScript与XML,但是获得的数据不一定是XML数据,现在服务器端返回的都是JSON格式的文件. 完 ...

  3. 【CodeBase】通过层级键在多维数组中获取目标值

    通过层级键在多维数组中获取目标值 /* *Author : @YunGaZeon *Date : 2017.08.09 *param data : Data Array *param keys : K ...

  4. 初学js之qq聊天实例

    实现的功能为上图所示,但是每新发送的消息必须显示在最上面. 我实现了两版,样式有是一样的.我们直接看代码. 版本一: <!DOCTYPE html> <html lang=" ...

  5. Shuffle'm Up POJ - 3087(模拟)

    Shuffle'm Up Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15249   Accepted: 6962 Des ...

  6. PAT Advanced 1001

    1001 A+B Format (20 分) Calculate a+b and output the sum in standard format -- that is, the digits mu ...

  7. ipv4配置

  8. HDU 4005 The war 双连通分量 缩点

    题意: 有一个边带权的无向图,敌人可以任意在图中加一条边,然后你可以选择删除任意一条边使得图不连通,费用为被删除的边的权值. 求敌人在最优的情况下,使图不连通的最小费用. 分析: 首先求出边双连通分量 ...

  9. 矩阵儿快速幂 - POJ 3233 矩阵力量系列

    不要管上面的标题的bug 那是幂的意思,不是力量... POJ 3233 Matrix Power Series 描述 Given a n × n matrix A and a positive in ...

  10. JS一个非常经典的问题:在遍历数组时对DOM监听事件,索引值将始终等于遍历结束后的值

    一个简单的Tab选项卡点击事件. <style type="text/css"> ul{padding:0;margin:0;} .tab{width:400px;} ...