十进制 转换 2-10 进制,int的扩展方法

public static int ConvertToBase(this int i, int baseToConvertTo)
        {
            if (baseToConvertTo < 2 || baseToConvertTo > 10)
            {
                throw new ArgumentException("无法完成转换" + baseToConvertTo.ToString());
            }
            int resault = 0;  //存放结果
            int iterations = 0;  //十进制位数(第一次循环为 个位,第二次,十位……)
            do
            {
                int nextDigit = i % baseToConvertTo;  //原整数模除进制,取余。
                i /= baseToConvertTo;  //原数除进制,准备取余继续除
                resault += nextDigit * (int)Math.Pow(10, iterations);  //将余数存放(按十进制位数存放)
                iterations++;
            } while (i != 0);
            return resault;
            
        }

 

posted @ 2012-07-14 18:00  三台  阅读(305)  评论(0编辑  收藏  举报