C# int类型的强制转换整理

一、C#中将浮点数转换为整数

1.使用小括号方式强制转换,此种方式的转换是舍精度处理,即只保留当前数字的整数部分,对于小数部分舍去

2.使用Convert.ToInt32(xxx) 方式,此种方式是四舍五入的方式处理

注:

1.对于将浮点数转换成整数推荐使用方式1

2.对于将字符串的数字类型推荐使用方式2,应为对于null默认返回0,如果是空字符串也抛出异常

3.当对于将double或decimal类型转换为int类型时,使用Convert类许多时候会因为四舍五入出现逻辑问题。

代码示例:

1.

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

System.Console.WriteLine(Convert.ToInt32(null));//输出:0


2.底板取整示例:

//底板取整
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语句块、线程锁

C# Object.GetType()获取对象的类类型/获取类的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值