当前位置:  开发笔记 > 编程语言 > 正文

有没有内置的方法将整数转换为C#中的字符串(任何基数)?

如何解决《有没有内置的方法将整数转换为C#中的字符串(任何基数)?》经验,为你挑选了1个好方法。

由于某些奇怪的原因,Convert.ToString()只允许基数值为2,8,10和16; 是否有一些不明确的方式提供2到16之间的任何基础?



1> Guvante..:

可能会消除某人输入7而不是8,因为任意碱基的使用很少(但不是不存在).

这是一个可以执行任意基本转换的示例方法.如果您愿意,可以使用它,没有限制.

string ConvertToBase(int value, int toBase)
{
     if (toBase < 2 || toBase > 36) throw new ArgumentException("toBase");
     if (value < 0) throw new ArgumentException("value");

     if (value == 0) return "0"; //0 would skip while loop

     string AlphaCodes = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

     string retVal = "";

     while (value > 0)
     {
          retVal = AlphaCodes[value % toBase] + retVal;
          value /= toBase;
     }

     return retVal;
}

未经测试,但你应该能够从这里弄清楚.

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有