|       //内置函数的写法       //网上零售价和折扣价在计算结束需要进行进位,规则如下:        //个位为1,2,3,4进位到5,例如计算后的价格为1201,则价格为1205;        //个位为6,7,8,9进位到0,例如计算后的价格为1209.则价格为1210;        publicstaticstringChangePrice(doubleprice)        {            intchanged = 0;            intm = (int)Math.Round(price);            intn = (int)Math.Floor(price / 10);            intd = m - n * 10;            if(0 < d && d <= 4)            {                changed = n * 10 + 5;            }            elseif(5 < d && d <= 9)            {                changed = n * 10 + 10;            }            else            {                changed = m;            }            returnchanged + "";        }//算法的写法 publicstaticstringChangePrice(doubleprice)        {            intchanged = 0;//改变后的值            intm = 0;//四舍五入取整            intn = 0;//取整数            doubletemp = price;            if(temp.ToString().IndexOf(‘.‘) > -1)            {                stringstrTemp = temp.ToString();                strTemp = strTemp.Substring(0, strTemp.IndexOf(‘.‘));                n = int.Parse(strTemp) / 10;//取整数                m = (int)Math.Round(temp);//四舍五入取整数                intd = m - n * 10;                if(0 < d && d <= 4)                {                    changed = n * 10 + 5;                }                elseif(5 < d && d <= 9)                {                    changed = n * 10 + 10;                }                else                {                    changed = m;                }            }            else            {                stringTempAgain = (temp / 10).ToString();                if(TempAgain.IndexOf(‘.‘) > -1)                {                    TempAgain = TempAgain.Substring(0, TempAgain.IndexOf(‘.‘));                    n = int.Parse(TempAgain);                    m = int.Parse(temp.ToString());                    intd = m - n * 10;                    if(0 < d && d <= 4)                    {                        changed = n * 10 + 5;                    }                    elseif(5 < d && d <= 9)                    {                        changed = n * 10 + 10;                    }                    else                    {                        changed = m;                    }                }                else                {                    n = int.Parse(TempAgain);                    m = int.Parse(temp.ToString());                    intd = m - n * 10;                    if(0 < d && d <= 4)                    {                        changed = n * 10 + 5;                    }                    elseif(5 < d && d <= 9)                    {                        changed = n * 10 + 10;                    }                    else                    {                        changed = m;                    }                }            }            returnchanged + "";        } | 
四舍五入的一些简单写法(利用内置函数,算法2种写法),布布扣,bubuko.com
原文:http://www.cnblogs.com/it888/p/3760963.html