string retval;
retval = Decimal.ToInt32(1899.99M).ToString();
输出是1899.但我想如果小数更大.5然后输出是1900否则输出是1899.我怎么能这样做?提前谢谢!
答案 0 :(得分:4)
首先使用Math.Round。
http://msdn.microsoft.com/en-us/library/system.math.round.aspx
答案 1 :(得分:3)
使用Math.Round
时,您可以选择四舍五入x.5
:
银行家的回合/回合甚至。避免偏差,有时会向上舍入(1.5 => 2),有时向下舍入(0.5 => 0),默认情况下,如果您未指定参数,则使用偏差。
Int32 i=Math.Round(d, MidpointRounding.ToEven);
你在学校学习的四舍五入,它总是向无穷大方向舍入(0.5 => 1,-0.5 => -1)
Int32 i=Math.Round(d, MidpointRounding.AwayFromZero);
答案 2 :(得分:1)
尝试类似:
Double d = 1899.99;
Int32 i = Math.Round(d);
String retval = i.ToString(CultureInfo.InvariantCulture);
答案 3 :(得分:0)
Decimal.ToInt32(Math.Round(1899.99M)).ToString();