一、C#中将浮点数转换为整数
1.使用小括号方式强制转换,此种方式的转换是舍精度处理,即只保留当前数字的整数部分,对于小数部分舍去
2.使用Convert.ToInt32(xxx) 方式,此种方式是四舍五入的方式处理
注:
1.对于将浮点数转换成整数推荐使用方式1
2.对于将字符串的数字类型推荐使用方式2,应为对于null默认返回0,如果是空字符串也抛出异常
3.当对于将double或decimal类型转换为int类型时,使用Convert类许多时候会因为四舍五入出现逻辑问题。
代码示例:
1.
[csharp] view plain copy print?
System.Console.WriteLine((int)0.75); //输出:0
System.Console.WriteLine((int)0.75M);//输出:0
System.Console.WriteLine(Convert.ToInt32(0.75)); //输出:1
System.Console.WriteLine(Convert.ToInt32(0.75M));// 输出:1
[csharp] view plain copy print?
System.Console.WriteLine(Convert.ToInt32(null));//输出:0
2.底板取整示例:
[csharp] view plain copy print?
//底板取整
decimal result = Math.Floor(7.0M / 10);
System.Console.WriteLine(result); //输出:0
int result2 = (int)Math.Floor(6.0 / 10);
System.Console.WriteLine(result2); //输出:0
更多:
C# 扩展方法整理
C# lock关键词/lock语句块、线程锁