如何将小数转换为整型?


当前回答

将十进制转换为整数

decimal decimalValue=5.00;
int intValue=Convert.ToInt32(decimalValue);

其他回答

没有答案似乎处理OverflowException/UnderflowException来自试图转换int范围之外的小数。

int intValue = (int)Math.Max(int.MinValue, Math.Min(int.MaxValue, decimalValue));

如果十进制值在int范围之外,此解决方案将返回可能的最大或最小int值。你可能想用Math添加一些舍入。圆的,数学。天花板或数学。当值在int范围内时的下限。

系统。Decimal实现了IConvertable接口,该接口有一个ToInt32()成员。

调用System.Decimal.ToInt32()工作吗?

decimal d = 2;
int i = (int) d;

这应该可以正常工作。

decimal vIn = 0.0M;
int vOut = Convert.ToInt32(vIn);

这是一个非常方便的转换数据类型的网页,为那些其他人。 http://www.convertdatatypes.com/Convert-decimal-to-int-in-CSharp.html

十进制d = 5.5;

int i = decimal.ToInt32(d);// you will get i = 5

参考:链接文本