您的位置:首页 > 其它

Money型字段小数点后保留两位小数

2014-03-24 16:37 441 查看
asp.net直接显示Money型字段小数点后面将保留四位小数,而我们常见的格价显示一般是小数点后两位,如何实现这种效果呢,有如下几种方法:

1、直接型,通过ToString()函数直接格式话

例如把money = 12345.67 格式成 money = 12,345.67。代码如下

string _money = moeny.ToString("N");

或者

string _moeny = money.ToString("#,###.00")

2、本地化型,通过CultureInfo类,根据指定的文化进行格式化,同样的,代码代码如下:

double money = 12345.67;

CultrueInfo ci = new CultrueInfo("zh-CH");

string _money = money.ToString("c",ci);

如果不指定文化特征,用函数ToString("c")进行格式化时,系统采用默认的文化特征。

而在标准的ASP.NET数据绑定语法中,你必须首先转换数据行的类型以检索数据字段IntegerValue。接着把它作为参数传递给String.Format方法。

<%# String.Format("{0:c}", (CType(Container.DataItem, DataRowView)("IntegerValue"))) %>

ASP.NET 2.0为DataBinder.Eval提供了一个新的简化的语法(Eval),你可以在数据绑定的控件模板中使用它来自动解析Container.DataItem。

<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:c}") %>

<%# Eval("IntegerValue", "{0:c}") %>

  格式化字符串参数是可选的。如果省略了这个参数,DataBinder.Eval会返回Object类型值,如下所示:

<%# CType(DataBinder.Eval(Container.DataItem, "BoolValue"), Boolean) %>

或者:

<asp:BoundField DataField="Total" DataFormatString="{0:#,###}" HtmlEncode="False" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: