C#double怎么转换成int?

2024-12-16 20:13:20
推荐回答(1个)
回答1:

用Math.Ceiling,通过向上进位取整函数。

例如:Math.Ceiling(32.4) 结果是33;Math.Ceiling(32.0) 结果是 32

与此对应的是向下舍位取整 Math.Floor。

第一种方式 强制类型转换

double d=1.5;

int i=(int)d;

强制类型转换采用的是截位方式,把小数点后面的数字统统舍弃,也就是说不管小数部分是几,哪怕是1.9也要舍弃,转换完会是1。

第二种方式 使用Round函数进行转换

double d=1.6

int i = Math.Round(d, 0);(保留0维小数就是取整)

第二种参数表示要保留的小数位数。

使用Round函数是四舍五入,而不是进行截位,保留小数点后面的数字。

例:Math.Floor(3.8)//返回小于或等于指定数字的最大整数,结果为3;

Math.Round(3.8)//将值舍入到最接近的整数或指定的小数位数,结果为4。

这两种转换方式要根据实际需要情况来进行转换。