asp.net,C#中的货币格式化

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

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

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

 

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

 

asp.net,C中的货币格式化 - 华夏人 - 江楼风芳或者

 

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

 

asp.net,C中的货币格式化 - 华夏人 - 江楼风芳2、本地化型,通过CultureInfo类,根据指定的文化进行格式化,同样的,代码代码如下:

 

  1. double money = 12345.67;  
  2. CultrueInfo ci = new CultrueInfo("zh-CH");  
  3. string _money = money.ToString("c",ci); 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

或者:

 

  1. <asp:BoundField DataField="Total" DataFormatString="{0:#,###}"  HtmlEncode="False" /> 

注意 这里只是截取,并非四舍五入

另附:

输出内容时的格式化字符,其中{n}代表占位符,例如:{0}说明使用后面的第一个参数代替到这个位置上输出。而后面的C则是具体的格式化控制信息,例如要输出的是货币信息等。
其中:
c | C:代表货币格式
d | D:代表十进制格式
e | E:代表科学计数(指数)格式
f | F: 浮点格式
x | X: 十六进制格式。

转载于:https://www.cnblogs.com/ck235/p/4984939.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值