先參考既有的方法,
http://www.allenkuo.com/EBook5/view.aspx?TreeNodeID=27&id=381
http://www.dotblogs.com.tw/yc421206/archive/2008/11/03/5852.aspx
[節錄] 舊的規則,會根據前一位數字,來決定小數點的進位。在.NET 2.0 以後, Math.Round()多了參數,可以自訂如何進位。
其他參考:
C#無條件捨去
利用ToString()
自己生出簡單的進位 0.5 函式:
這樣子就達成目的了!public double halfRound(double val)
{
double ten = val * 10;
double key = ten % 10;
if( key>=5 || key==0 )
return Math.Round( val, MidpointRounding.AwayFromZero);
else
return Math.Round(val, MidpointRounding.AwayFromZero)+0.5;
}
halfRound(1.2) => 1.5
halfRound(1.6) => 2
沒有留言:
張貼留言