Sql中取⼩数点后⾯两位⼩数.
select convert(numeric(8,2),round(UnTaxAmount,2))as UnTaxAmount from View_SaleVoice
select cast(UnTaxAmount as decimal(20,2)) as UnTaxAmount from View_SaleVoice Datagrid,DataList,Repeate等的数据格式设置表达式
DataFormatString="{0:N0}%“
DataFormatString="${0:N2}"
DataFormatString="{0:N0}个"
DataFormatString="No.{0:N0}"
DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"
数据格式设置表达式
.NET Framework 格式设置表达式,它在数据显⽰在列中之前先应⽤于数据。
此表达式由可选静态⽂本和⽤以下格式表⽰的格式说明符组成:
{0:format specifier}
0 是参数索引,它指⽰列中要格式化的数据元素;因此,通常⽤零来指⽰第⼀个(且唯⼀的)元素。
format specifier 前⾯有⼀个冒号 (:),它由⼀个或多个字母组成,指⽰如何格式化数据。
可以使⽤的格式说明符取决于要格式化的数据类型:⽇期、数字或其他类型。
下表显⽰了不同数据类型的格式设置表达式的⽰例。有关格式设置表达式的更多信息,请参见格式化类型。
格式设置表达式应⽤于此数据类型说明
Price: {0:C}numeric/decimal 显⽰“Price:”,后跟以货币格式表⽰的数字。货币格式取决于通过Page 指令或fig ⽂件中的区域性属性指定的区域性设置。
{0:D4}integer(不能和⼩数⼀起使⽤。)在由零填充的四个字符宽的字段中显⽰整数。
{0:N2}%numeric显⽰精确到⼩数点后两位的数字,后跟“%”。
{0:000.0}numeric/decimal四舍五⼊到⼩数点后⼀位的数字。不到三位的数字⽤零填充。
{0:D}date/datetime
长⽇期格式(“Thursday, August 06, 1996”)。⽇期格式取
决于页或fig ⽂件的区域性设置。
{0:d}date/datetime短⽇期格式(“12/31/99”)。
{0:yy-MM-dd}date/datetime⽤数字的年-⽉-⽇表⽰的⽇期(96-08-06)。
ASP.NET设置数据格式应⽤⽰例:
{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数据格式的Format-- DataFormatString
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
DateTime.Now.ToString("yyyy-MM-dd");//这种模式最好
aspx:
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="204px">
<Columns>
<asp:BoundColumn DataField="date" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
</asp:datagrid>
在我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中。数据实体中的⼀些字段可以直接绑定到界⾯中,但是有⼀些字段需要重新格式化格式。⽐如货币单位字段,需要显⽰货币符号和每隔三位显⽰分隔符;再⽐如⽇期字段,数据库中存放的是⽇期和时间,但是在界⾯上需要按照XXXX年XX⽉XX⽇的格式显⽰。这时候我们就⽤到了DataFormatString属性。
<asp:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField HeaderText="预定⽇期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False">
</asp:BoundField>
<asp:BoundField HeaderText="订单总计" DataField="TotalRate" DataFormatString="{0:C}" HtmlEncode="False">
</asp:BoundField>
</Columns>
</asp:GridView>
例如上⾯的代码展⽰了⽇期和货币两种绑定⽅式。DataFormatString中的{0}是固定的格式,这和String.Fromat(“{0}”, someString)中的{0}是⼀个⽤法,表⽰绑定上下⽂的参数索引编号。然后,在后⾯加⼊格式化字符串,具体的使⽤⽅法可以参考MSDN。
这⾥需要注意以下⼏点
1. 在GridView中的asp:BoundField使⽤DataFormatString必须设置属性HtmlEncode="False",否则不起作⽤。
2. 如果需要使⽤⽇期类型的格式化字符串,必须数据实体中对应的字段也应该⽇起类型的。
3. 格式化字符串C代表货币单位,需要绑定的数据类型应该是数字类型的。如果是字符串类型的不起作⽤,需要⼿动添加格式化字符串为DataFormatString="¥{0:C}"。
总结:
GridView中使⽤DataFromatString与在DataGrid中使⽤起来有些不同的!在GridView中的BoundField新增了HtmlEncode 属性,且默认是true,这就使得DataFromatString失效!
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:04gridview不显示
(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));
Repeater中DataBinder.Eval(Container.DataItem,"转换的类型","格式")
也可以采⽤和DataFormatString⼀样的处理
附SQL中取⼩数点后两位语句:
select round(⼩数,2) from 表
select convert(decimal(18,2),round(⼩数,2)) from 表
select cast(⼩数 as numeric(10,2)) from 表
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论