★搜Asp.net★(www.soAsp.net),为专业技术文档网站。
包括Asp.net开发技术文档·C#开发技术文档·Access/SQL Server数据库开发技术文档·VB.NET开发技术文档。
还包括·项目实战经验总结·开发经验技巧总结·项目开发心得。


  
C#如何设置货币值中使用的小数位数

本技巧主要介绍如何设置货币数值中使用的小数位数。主要使用NumberFormatInfo类的CurrencyDecimalDigits属性来设置小数位数,使CultureInfo类的NumberFormat属性来指定字符串的域区样。

NumberFormatInfo类根据区域性定义如何设置数值格式以及如何显示数值。CurrencyDecimalDigits属性此属性指示要在货币值中使用的小数位数。

其语法格式为

public int CurrencyDecimalDigits { get; set; }

l  属性值:要在货币值中使用的小数位数。InvariantInfo的默认值为2

CultureInfo类提供有关特定区域性的信息(如区域性的名称、书写系统和使用的日历)以及如何设置日期和排序字符串的格式。此类有多种重载形式,本技巧使用重载形式为:

public CultureInfo (int culture,bool useUserOverride)
参数说明:

l  culture:预定义的CultureInfo标识符、现有CultureInfo对象的LCID属性或仅Windows区域性标识符。

l  UseUserOverride:一个布尔值,它指示是使用用户选定的区域性设置(true),还是使用默认区域性设置(false)

NumberFormat属性

此属性获取或设置 NumberFormatInfo,它定义适合区域性的、显示数字、货币和百分比的格式。

其语法格式为:


public virtual NumberFormatInfo NumberFormat { get; set; }
l  属性值:一个 NumberFormatInfo,它定义适合区域性的、显示数字、货币和百分比的格式。

主要代码如下:

      System.Globalization.NumberFormatInfo GN = new System.Globalization.CultureInfo("zh-CN", false).NumberFormat;
        Int64 myInt = 12345;
        private void button2_Click(object sender, EventArgs e)
        {
            GN.CurrencyDecimalDigits = 2;
            MessageBox.Show(myInt.ToString("C", GN), "保留两位小数"); 
        }
        private void button4_Click(object sender, EventArgs e)
        {
            GN.CurrencyDecimalDigits = 3;
            MessageBox.Show(myInt.ToString("C", GN), "保留三位小数"); 
     }