C#中的货币格式化

double类型格式成货币形式,有一下几种方法:
1、直接型,通过ToString()函数直接格式话
例如把money = 12345.67 格式成 money = 12,345.67。代码如下

 

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

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

2、本地化型,通过 CultureInfo类,根据指定的文化进行格式化
同样的,代码代码如下:
1  double  money  =   12345.67 ;
2  CultrueInfo ci  =   new  CultrueInfo( " zh-CN " );
3  string  _money  =  money.ToString( " c " ,ci);

如果不指定文化特征,用函数ToString("c")进行格式化时,系统采用默认的文化特征。由于基本文化特征,在开发多语言版本的实践中就能进行不错的应用,所以对于以上两种常用的做法,个人喜欢第二种。 money在转换前一定要转换成所需格式,这里money是直接声名为double,否则会提示“tostring方法没有采用2个参数的重载”。另外,原文CultureInfo中的"zh-CN"写成了"zh-CH"。用到的命名空间:System.Globalization;(冯春丽注,下文未经验证)
 
======================================
 
而在标准的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" />

 

=====================

转载自:http://www.hugo8.com/Article.Asp?ID=539

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值