关于货币格式输入与读出“,”隔开

本文分享了在房屋租赁系统中处理大额数字显示及存储的解决方案,包括使用正则表达式进行输入验证,利用decimal类型存储数据,以及通过字符串格式化展示数据,确保数字以###,###,###,##0.00或#########0.00格式显示。

在做某房屋租赁系统时,曾遇到要求大笔额数字需要以###,###,###,##0.00呈现,并且以#########0.00存入。且看当时的解决方案:

1.货币输入验证:

文本框旁边放置一个正则表达式验证的控件,要求当输入的数字格式必须为: ###,###,###,##0.00或#########0.00

正则表达式控件的Validation属性只设置为:(?!^0*$)(?!^0*\.0*$)^\d{0,3}(,?\d{3})*(\.\d{1,3})?$

2.存入数据值类型:

decimal.Parse强制转换,以该类型存入数据库

model.AnnualMgtFee = decimal.Parse(this.txtAnnualMgtFee.Text);
model.AnnualRentCostall = decimal.Parse(this.txtAnnualRentCostall.Text);
model.Netareaman = decimal.Parse(this.txtNetareaman.Text);

3.取出数据值类型:

方法一:

this.txtAnnualRent.Text =Convert.ToDecimal( model.AnnualRent).ToString("N2");
this.txtAnnualMgtFee.Text = Convert.ToDecimal(model.AnnualMgtFee).ToString("N2");
this.txtAnnualRentCostall.Text = Convert.ToDecimal(model.AnnualRentCostall).ToString("N2");

方法二:

1)定义一个类AppConst.cs,在该类中定义一个常量DecimalFormat ,代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// AppConst 的摘要说明
/// </summary>
public class AppConst
{
    /// <summary>
    /// 数字格式(###,###,###,##0.00)
    /// </summary>
    //public const string DecimalFormat = "###,###,###,##0.00";
    public const string DecimalFormat = "N2";

    /// <summary>
    /// 数字格式(#########0.00)
    /// </summary>
    public const string DecimalFormat2 = "#########0.00";
}

2)  界面后台代码中,如下引用AppConst.cs类中的常量DecimalFormat ,代码如下:     

        this.txtAnnualRent.Text =Convert.ToDecimal( model.AnnualRent).ToString(AppConst.DecimalFormat);
        this.txtAnnualMgtFee.Text = Convert.ToDecimal(model.AnnualMgtFee).ToString(AppConst.DecimalFormat);
        this.txtAnnualRentCostall.Text = Convert.ToDecimal(model.AnnualRentCostall).ToString(AppConst.DecimalFormat);

 3)如果是GridView或DataGrid这一类数据源控件取出数据,可以在字段绑定的表达式做这样控制: Text='<%# DataBinder.Eval(Container,"DataItem.Contract_Cost","{0:N2}") %>'

 

 

转载于:https://www.cnblogs.com/BritneyComeOn/archive/2009/07/06/1517700.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值