C# 十进制到整数的转换

C# 十进制到整数的转换,c#,asp.net,C#,Asp.net,输出为1899。但我想知道,如果十进制数更大,那么输出是1900,否则输出是1899。我该怎么做?提前谢谢 试试以下方法: string retval; retval = Decimal.ToInt32(1899.99M).ToString(); 用数学,先圆 使用时,有两种取整选择x.5: 银行家回合/平局。避免偏差,有时向上舍入(1.5=>2),有时向下舍入(0.5=>0),如果不指定参数,默认情况下使用 Decimal.ToInt32(Math.Round(1899.99M)).ToS

输出为1899。但我想知道,如果十进制数更大,那么输出是1900,否则输出是1899。我该怎么做?提前谢谢

试试以下方法:

string retval;

retval = Decimal.ToInt32(1899.99M).ToString();
用数学,先圆

使用时,有两种取整选择
x.5

银行家回合/平局。避免偏差,有时向上舍入(1.5=>2),有时向下舍入(0.5=>0),如果不指定参数,默认情况下使用

Decimal.ToInt32(Math.Round(1899.99M)).ToString();
你在学校学到的四舍五入,它总是朝着无穷大的方向四舍五入(0.5=>1,-0.5=>-1)


您希望精确到
.5
时进行哪种舍入?银行家回合还是走向无限?
Decimal.ToInt32(Math.Round(1899.99M)).ToString();
Int32 i=Math.Round(d, MidpointRounding.ToEven);
Int32 i=Math.Round(d, MidpointRounding.AwayFromZero);