C#开发经验技巧宝典.docx

上传人:文*** 文档编号:68225878 上传时间:2022-12-27 格式:DOCX 页数:107 大小:318.57KB
返回 下载 相关 举报
C#开发经验技巧宝典.docx_第1页
第1页 / 共107页
C#开发经验技巧宝典.docx_第2页
第2页 / 共107页
点击查看更多>>
资源描述

《C#开发经验技巧宝典.docx》由会员分享,可在线阅读,更多相关《C#开发经验技巧宝典.docx(107页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、5.1数字处理技巧0140如何对计算结果四舍五(|本实例主要介绍如何对计算结果四舍五入。本实例主要是通过Math类的Pow方法来实现 的。运行程序,在文本框中输入数字,单击“确定”按钮四舍五入文本框中的数字。主要代 码如下:public static double Ftound(double d, int i)if (d = 0)d += 5 * Math.Pow(10, -(i + 1);/) else (d += -5 * Math.P0w(10, -(i + 1);string str = d.ToString();string strs = str.Split(*.);int idot

2、 = str.I ndexOfstring prestr = strs0;string post str = strs1;if (poststr.Length i)(post str = str.Substring(idot + 1, i); 截取需要位数if (poststr.Length 0; i-)(int Data = Convert.Tolnt16(TempTemp.Length - i);Info += BaseData - 48;Info += Scalei - 1;elsefor (int i = Temp.Length; i 0; i-)(int Data = Convert

3、.Tolnt16(TempTemp.Length - i);Info += BaseData - 48;Info += Scalei+1;)text Box2.Text = Info;0142如何根据生日自动计算员工年龄本实例主要介绍如何根据生日自动计算员工年龄。通常的方法是,先从员工的生日字符中 取出年份,然后用当前的日期年份减去员工出生年份,得到的整数就是员工实际年龄。主要 代码如下:string m_Str = 1984-04-04;int m_Y1 = Dat eTi me. Parse( m_St r). Year;int m_Y2 = Dat eTime. Now. Year;in

4、t m_Age = m_Y2 - m_Y1;如何设遛货币值中使用危 的小数位羲本实例主要介绍如何设置货币数值中使用的小数位数。主要是使用NumberFormatlnfo类 的CurrencyDecimalDigits属性来设置在货币值中使用的小数位数,使用Cultureinfo类的N umberFormat属性来指定字符串的域区样。语法格式如下:public int CurrencyDecimalDigits get; set; 属性值:要在货币值中使用的小数位数。Invariantinfo的默认值为2。Cultureinfo类提供有关特定区域性的信息(如区域性的名称、书写系统和使用的日历)

5、以及如何设置日期和排序字符串的格式。此类有多种重载形式,本实例使用的重载形式如下: public Cultureinfo (int culture,bool useUserOverride)参数说明I culture:预定义的Qjlturelnfo标识符、现有Cultureinfo对象的LCID属性或仅Windows区域性标识 符。I UseUserOverride: 一个布尔值,指示是使用用户选定的区域性设置(True),还是使用默认区域性 设置(False) oNumberFormat属性获取或设置NumberFormatlnfo,它定义适合区域性的、显示数字、货 币和百分比的格式。其语法

6、格式如下:public virtual Number Format I nfo NumberFormat get; set; 属性值:一个NumberFormatInfo,它定义适合区域性的、显示数字、货币和百分比的格 式。主要代码如下:System.Gobalization.NumberFormatInfo GN = new System.Globalization.Qjlturelnfo(zh-CN, fal se). NumberFormat;Int64 my I nt = 12345;private void button2_Qick(object sender, EventArgs

7、e)GN. CurrencyDecimalDigits = 2;MessageBox.Show(mylnt.ToString(,C, GN),“保留两位小数)private void button4_Qick(object sender, EventArgs e)GN. CurrencyDecimalDigits = 3;MessageBox.Show(mylnt.ToString(,C, GN),”保留三位小数)0144如何自定义货币值中的 小数点本实例主要介绍如何自定义货币值中的小数点,主要是使用NumberFormatlnfo类的CurrencyDecimalSeparator属性来完成

8、的。运行程序,效果如图5. 1和图5. 2所示。文小a力,相图5.1自定义$符图5.2自定义*符CurrencyDecimalSeparator属性获取或设置要在货币值中用做小数点分隔符的字符串。其语法格式如下:public string CurrencyDecimalSeparator get; set; 属性值:要在货币值中用做小数点分隔符的字符串,默认值为“主要代码如下:System.Gobalization.NumberFormatlnfo GN = new System.Gobalization.Qjlturelnfo(zh-CN, fal se).NumberFdrmat;Int6

9、4 mylnt = 123456789;private void button1_Qick(object sender, EventArgs e)GN.CurrencyDecimal Separator =MessageBox.Show(定义前:+mylnt.ToString(C)+n+定义后:+mylnt.ToString(C, GN), 臼定义小数点为$符);private void button2_Qick(object sender, EventArgs e)GN.CurrencyDecimal Separator =MessageBox.Show(定义前:+ mylnt.ToStri

10、ng(C) + n + 定义后:+ mylnt.ToString(C, GN),自定义小数点为*符)0145如何自定义货币值中小启数点左边数字分组字符 G本实例主要介绍如何自定义货币值中对小数点左边数字分组字符,主要是使用NumberFo rmatlnfo类的CurrencyGroupSeparator属性来设置的。运行程序,其效果如图5. 3所示。CurrencyGroupSeparator属性获取或设置在货币值中对小数点左边数字进行分组的字符 串。其语法格式如下:public string CurrencyGroupSeparator get; set; 属性值:在货币值中对小数点左边数字

11、进行分组的字符串,默认值为。主要代码如下:private void button1_Qick(object sender, EventArgs e)System.Gobalization.NumberFormatlnfo GN = new System.Gobalization.Culturelnfo(,en-US, false). Number Format;Int64 mylnt = 123456789;GN.CurrencyGroupSeparator = 、MessageBox.Show(定义前: + mylnt.ToString(MCT) + wnM + ”定义后:“ + mylnt

12、.ToStri ng(”C, GN), 分组字符用、号)0146如何自定义货币值中小心数点上边每一组的住数 士本实例主要介绍如何自定义货币值中的小数点,主要是使用NumberFormatlnfo类的CurrencyGroupSizes属性来完成的。运行程序,效果如图5. 4和图5. 5所示。图 5.4 2,3,1格式图 5.5 2,3,2格式CurrencyGroupSizes属性获取或设置货币值中小数点左边每一组的位数。其语法格式如F:2M public int CurrencyGroupSzes get; set; 属性值:货币值中小数点左边每一组的位数,默认值是一个一维数组,该数组只包含

13、一个设置为3的元素。主要代码如下:private void button1_Qick(object sender, Event Args e)System.Gobalization.NumberFormatInfo CN = new System.Gobalization.Culturelnfo(,en-US, false). Number Format;Int64 mylnt = 123456789012345;int mySzesI = 2, 3, 1 ;int mySzes2 = 2, 3, 2 ;CN. Cu rrencyGroupSzes = mySzesI;MessageBox.S

14、how(定义前:M + mylnt.ToString(,C,) + Hn + 定义后:+ mylnt.ToString (C CN), 2, 3, 1 格式CN. CurrencyGroupSzes = mySzes2;MessageBox.Show(定义前:M + mylnt.ToString(,C,) + Hn + 定义后:+ mylnt.ToString (C, CN), ” 2 3, 2 格式)0147如何自定义百分比值中恁 小薮前住软本实例主要介绍如何使用NumberFormatInfo类的PercentDecimalDigits属性来设置百 分比值中小数点后面保留的位数。运行程序,

15、效果如图5. 6所示。PercentDecimalDigits属性获取或设置在百分比值中使用的小数位数。其语法格式如下: public int Percent Deci mal Digits get; set; 属性值:在百分比值中使用的小数位数,默认值为2。主要代码如下:private void button1_aick(object sender, Event Args e) 5.7 自定 点System.Gobalization. Number Format Info GN = new System.Gobalization.CuIturelnfo(*zh-CN”,false) .Nu

16、mberFormat;Double mylnt = 0.9774;string strlnfo= null;GN. Percent Decimal Digits = 1;strinfo +=保留一位小数:+ string. Fdrmat(myl nt.ToString(MP,GN);GN.PercentDecimalDigits = 2;strinfo += n 保留二位小数:M + string.Fbrmat(mylnt.ToString(HP, GN);GN.PercentDecimalDigits = 4;strinfo += n 保留四位小数:+ string.Fdrmat(mylnt

17、.ToString(P, GN);GN. Percent Decimal Digits = 6;strinfo += n 保留六位小数:+ string.Fdrmat(mylnt.ToString(nP, GN);MessageBox.Show(strlnfo, 定义效果)0148如何自定义百分比小数本实例主要介绍如何使用NumberFormatInfo类的PercentDecimalSeparator属性设置百 分比小数点分隔符的字符串。运行程序,效果如图5. 7所示。PercentDecimalSeparator属性设置在百分比值中用做小数点分隔符的字符串。其语法格 式如下:public

18、string Percent Deci m al Separat or get; set; 属性值:在百分比值中用做小数点分隔符的字符串,默认值为。主要代码如下:private void button1_Qick(object sender, EventArgs e)System.Gobalization.NumberFormatInfo GN = new System.Gobalization.Culturelnfo(zh-CN, false). NumberFormat;Double mylnt = 0.122434; 5LS自定义百分世小刎精string strFtercent = nu

19、ll;GN. Percent Decimal Separator =二str Percent += 用空格代替小数点: + mylnt.ToString(HP, GN);GN. Percent Decimal Separator =str Percent += 用 符代替小数点: + mylnt.ToString(H P, GN);GN. Percent Decimal Separator =strPercent += |1用#符代替小数点: + mylnt.ToString(MP, GN);GN. Percent Decimal Separator =strPercent += n 用*号代

20、替小数点: + mylnt.ToString(,P, GN);0149如何自定义百分比小数用 点左边数字分组字符MessageBox. Show( strPercent,”定义效果”);本实例主要介绍如何使用NumberFormatInfo类的PercentGroupSeparator属性设置百分 比小数点左边的分节号。运行程序,效果如图5.8所示。PercentGroupSeparator属性获取或设置在百分比值中对小数点左边数字进行分组的字 符串。其语法格式如下:public string PercentGroupSeparator get; set; 属性值:在百分比值中对小数点左边数字

21、进行分组的字符串,默认值为。主要代码如下:private void button1_Qick(object sender, Event Args e)(System.Gobalization.NumberFormatInfo GN = new System.Gobalization.Culturelnfo(,zh-CN, false). NumberFormat;Double myl nt = 12345.678;string strSperar = null;GN.FtercentGroupSeparator = , M;strSperar += ”用逗号作分隔符: + mylnt.ToSt

22、ring(wP, GN);b 自定q小点左边外枝GN. PercentGroupSeparator =、strSperar += n用顿号作分隔符:” + mylnt.ToString(,P, GN);GN. PercentaoupSeparator =strSperar += n 用单引号作分隔符:“ + mylnt.ToString(,P, GN);如何自定义百分比小数用 点左疝每一组的位数MessageBox.Show(strSperar, 定义效果)本实例主要介绍如何使用NumberFormatInfo类的PercentGroupSizes属性设置百分比小 数点左边每一组的位数。运行程

23、序,效果如图5. 9所示。PercentGroupSizes属性获取或设置百分比值中小数点左边的每一组的位数。其语法格式 如下:public int PercentGroupSzes get; set; 属性值:百分比值中小数点左边的每一组的位数。默认值是一个一维数组,该数组只包 含一个设置为3的元素。主要代码如下:private void button1_Qick(object sender, Event Args e)System.Gobalization.NumberFormatInfo GN = new System.Globalization.Qjlturelnfo(zh-CN ”,

24、 false).NumberFormat;Double mylnt= 510214720805231.4835;string str I nt =null;strlnt+= ”默认格式:M + mylnt.ToString(,p,GN);int MySzesI = 2, 3, 4 ;GN. Percent GroupSzes= MySzesI;strlnt+= Hn 2, 3, 4 格式:+ mylnt.ToString(MpM,GN);int MySzes2 = 2, 3, 2 ;GN. PercentGroupSzes= MySzes2; 5.10自定义百分比符号strlnt+= Mn 2

25、, 3, 2 格式: + mylnt.ToString(MpM,GN);int MySzes3 = 1, 2, 3 ;GN. FtercentGroupSzes= MySzes3;strlnt+= Mn 1, 2, 3 格式: + mylnt.ToString(pH,GN);MessageBox.Show(strlnt, 设置效果,MessageBoxButtons.OK, MessageBoxIcon.Informatio0151如何自定义百分比符号 图本实例主要介绍如何使用NumberFormatlnfo类的PercentSymbols属性设置百分比符号。运行程序,效果如图5. 10所示。

26、PercentSymbols属性用于获取或设置用作百分比符号的字符串。其语法格式如下:public string FtercentSymbol get; set; 属性值:用作百分比符号的字符串,默认值为。主要代码如下:private void button1_Qick(object sender, EventArgs e)(System.Gobalization.NumberFormatlnfo GN = new System.Gobalization.Culturelnfo(Mzh-CNH, false). NumberFormat;double intPrecnt = 102578.65

27、84;string strPrecnt = null;GN. Percentsymbol = ”;strPrecnt += 默认符号:+ intPrecnt.ToString(,p,GN);GN.PercentSymbol = &;strPrecnt += Mn 自定义符号&: + intPrecnt.ToString(wpM, GN);GN. Percentsymbol = ;strPrecnt += Mn 自定义符号*: + intPrecnt.ToString(pw, GN);GN. Percentsymbol = G”;HSU白/彳占strPrecnt += n 自定义符号#: M +

28、 intPrecnt.ToString(MpH, GN);on);)0152如何自定义数字小教点二 右边的保留位数Message Box. Show (st r Precnt, 设置效果,MessageBoxButtons.OK, MessageBoxI con. I nformat i本技巧主要介绍如何使用NumberFormatInfo类的NumberDecimalDigits属性设置数字小 数点右边的保留位数,效果如图5. 11所示。NumberDecimaIDigits属性获取或设置在数值中使用的小数位数。其语法格式如下:public int NumberDecimalDigits g

29、et; set; 属性值:在数值中使用的小数位数,默认值为2。主要代码如下:private void button1_aick(object sender, EventArgs e)System.Gobalization.NumberFormatlnfo GN= new System.Globalization.Culturel nfo(zh-CN, false). NumberFormat;double intNumber = 4458524.2568412547;string strNumber = MM;strNumber+ = ”默认小数位数:+ intNumber.ToString(

30、N);GN. Nu mberDeci mal Digits = 3;strNumber += n 保留三位小数: + intNumber.ToString(MN*,GN);GN. Nu mberDeci mal Digits =5;strNumber += n 保留五位小数: + intNumber.ToStringCN;GN);GN. Nu mberDeci mal Digits = 7;strNumber += n 保留七位小数: + intNumber.ToString(N,Gl);MessageBox.Show(strNumber, 设置效果 MessageBoxButtons.OK,

31、 MessageBoxIcon.Informa tion);I W 1H&U自定义小就曲咽*圳1附0153如何自定义数字小数点用 左边分组位数本实例主要介绍如何使用NumberFormatlnfo类的NumberGroupSizes属性设置数字小数 点左边数字分组位数,效果如图5. 12所示。NumberGroupSizes属性获取或设置数值中小数点左边每一组的位数。其语法格式如下:public int NumberGroupSzes get; set; 属性值:数值中小数点左边每一组的位数。默认值是一个一维数组,该数组只包含一个 设置为3的元素。主要代码如下:private void but

32、ton1_Qick(object sender, EventArgs e)System.Gobalization.NumberFormatlnfo GN = new System.Gobalization.Culturelnfo(,zh-CN, false). Number Format;double intNumber = 711413414517.12;string strNumber = null;strNumber += ”默认格式:” + intNumber.ToString(MNH,GN);int MySzesI = 1, 3, 4 ;GN. Nu mberGroupSzes =

33、MySzesI;strNumber += Mn 1, 3, 4 格式: + intNumber.ToString(wN*, GN);int MySzes2 = 2, 3, 0 ;GN. Nu mberGroupSzes = MySzes2;strNumber += Mn 2, 3, 0 格式:+ intNumber.ToString(wN*, GN);int MySzes3 = 2, 6, 2 ;GN. Nu mberGroupSzes = MySzes3;strNumber += Mn 2, 6, 2 格式: + intNumber.ToString(,N, GN);MessageBox.S

34、how(strNumber, 设置效果 MessageBoxButtons.OK, MessageBoxIcon.Informa tion); 5113第皿m簧而承丈0154格式化输入数据为货币 格式本实例主要用NumberFormatInfo类的CurrencyGroupSeparator属性格式化输入数据为 货币格式。CurrencyGroupSeparator属性获取或设置在货币值中对小数点左边数字进行分组 的字符串。运行程序,在输入数据文本框中,输入数字,单击“格式化输入数据为货币格式” 按钮,效果如图5.13所示。主要代码如下:private void button1_Qick(ob

35、ject sender, Event Args e)NumberFormatlnfo nfi = new Culturelnfo(zh-CN, false).NumberFormat;nfi.CurrencyGroupSeparator =textBox2.Text = Convert.ToDouble(textBox1.Text).ToString(c,nfi);0155如何计算两个整数的乘!本实例介绍如何使用Math类的BigMul方法实现数字的乘积。此方法生成两个32位数 字的完整乘积,语法格式如下:public static long BigMul (int a,int b)运行程序,

36、效果如图5. 14所示。图5.14两个整数的乘积主要代码如下:private void button1_aick(object sender, EventArgs e)int inti = lnt32.MaxValue;int int2 = lnt32.MaxValue;long long Result;long Result = Math.BigMul(int1, int2);string str = 整数” + lnt32,MaxValue.ToString() + “与 + ”整数” + lnt32.MaxValue.ToStri ng() + ”乘积 nM;str +=结果: + lo

37、ng Result.ToString();0156如何将二进制数转换为痣 十进有教MessageBox.Show(str,两个整数的乘积,MessageBoxButtons.OK, MessageBoxIcon.Informat ion);本实例主要介绍利用Convert类的Tolnt32方法如何把二进制数转化为十进制数。Conve rt类将一个基本数据类型转换为另一个基本数据类型。Tolnt32方法将指定的值转换为32位无符号整数。此方法有多种重载形式,其实现二进制 转换为十进制数的语法如下:public static uint Tolllnt32 (string value,!nt fro

38、mBase)参数说明I value:包含数字的String。I fromBase: value中数字的基数,必须是2、8、10或16。I返回值:等效于value中的数字的32位有符号整数。如果value为空则返回值为零。运行程序,在二进制文本框中输入二进制数,单击“二进制转换为十进制”按钮,效果 如图5. 15所示。主要代码如下:private void button1_aick(object sender, EventArgs e)t ext Box2.Text = Convert.Tolnt32(textBox1 .Text.Trim(),2).ToString();0157如何将二进制数

39、转换为启 八进制数本实例实现将二进制数转换为八进制数。首先利用Convert类的Tolnt32方法把二进制数转换为十进制数,然后利用Convert类的ToString方法转换成八进制数。ToString方法将指定的32位有符号整数的值转换为它的等效String表示形式public static string ToString (int value,int toBase)参数说明I value: 32位的有符号整数。I ToBase:返回值的基数,必须是2、8、10或16。返回值:以toBase为基数的value的String表示形式。主要代码如下:private void button1_Qi

40、ck(object sender, EventArgs e)把二进数转换为十进制数int intTen = Convert.Tolnt32(textBox1.Text.Trim(),2);把十进制数转换为八进制数text Bo x2.Text = Convert.ToSt ri ng(intTen,8);如何将二进制敷转换为启 十六进制数本实例主要介绍如何将二进制数转换为十六进制数。首先利用Convert类的Tolnt32方法把二进制数转换为十进制数,然后利用Convert类的ToString方法转换成十六进制数。运行程序,在二进制文本框中输入二进制数,单击转换按钮,效果如图5. 16所示。l

41、oooniniiIAJW Ezj 岫+大MH 图5.16二进制转换为十六进制主要代码如下:wo 5il7 棚柱把二进制数转换为十进制数int intTen = Convert.Tolnt32(textBox1.Text.Trim(),2);把十进制数转换为十六进制数text Box2.Text = Convert.ToString(intTen,16);0159如何实现09之间的盹/ 机整数本实例主要介绍如何用Random类的Next方法随机生成09之间的整数。Random类表示 伪随机数生成器,一种能够产生满足某些随机性统计要求的数字序列的设备。Next方法返回 一个指定范围内的随机数。主要

42、代码如下:Random rd = new Random();private void button1_Qick( object sender, Event Args e)MessageBox.Show(*0-9 随机整数:n+rd.Next(0.ToString。J随机整数二 MessageBoxButtons.O K, MessageBoxIcon. I nformation);0160如何实现0 1之间的盹危本实例主要介绍如何用Random类的NextDouble方法随机生成01之间的数。RNextDou ble方法返回一个介于0.0和1.0之间的随机数。运行程序,单击“确定”按钮,效果如

43、图5. 17所示。主要代码如下:Random rd = new Random();private void button1_Qick(object sender, EventArgs e)MessageBox.Show(0-1 随机小数:n + rd.NextDouble(),随机小数,MessageBoxButtons.O K, MessageBoxI con.I nformation);0161如何返回数字的绝对值本实例介绍如何使用Math类的Abs方法实现数字的绝对值。此方法有多种重载形式,本 实例所用的重载形式如下:public static decimal Abs (decimal value)此重载形式返回Decimal数字的绝对值。运行程序,效果如图5.18所示。主要代码如下:private void button1_aick(object sender, EventArgs e)(sbyte sb1 = -16, sb2 = 16;float fl1 = -12.0f, fl2 = 12.0f;string str =str += sbyte类型,数值sb1: -16,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com