# VBForums CodeBank > CodeBank - C# >  Base Converter

## Vitani

This class will convert any number in any base to it's equivilent in any other base.

Valid bases are 2 to 36 inclusive.

Usage:


```
int dec = 255;
string hex = BaseConverter.ToBase(dec.ToString(), 10, 16);

// hex is equal to "FF"
```

Although I've used the php tag, this code is C#, it just highlights better in php tags



```

    public class BaseConverter {

    public static string ToBase(string number, int start_base, int target_base) {

      int base10 = this.ToBase10(number, start_base);
      string rtn = this.FromBase10(base10, target_base);
      return rtn;

    }

    public static int ToBase10(string number, int start_base) {

      if (start_base < 2 || start_base > 36) return 0;
      if (start_base == 10) return Convert.ToInt32(number);

      char[] chrs = number.ToCharArray();
      int m = chrs.Length - 1;
      int n = start_base;
      int x;
      int rtn = 0;

      foreach(char c in chrs) {

        if (char.IsNumber(c))
          x = int.Parse(c.ToString());
        else
          x = Convert.ToInt32(c) - 55;

        rtn += x * (Convert.ToInt32(Math.Pow(n, m)));

        m--;

      }

      return rtn;
    
    }

    public static string FromBase10(int number, int target_base) {

      if (target_base < 2 || target_base > 36) return "";
      if (target_base == 10) return number.ToString();

      int n = target_base;
      int q = number;
      int r;
      string rtn = "";

      while (q >= n) {

        r = q % n;
        q = q / n;

        if (r < 10)
          rtn = r.ToString() + rtn;
        else
          rtn = Convert.ToChar(r + 55).ToString() + rtn;

      }

      if (q < 10)
        rtn = q.ToString() + rtn;
      else
        rtn = Convert.ToChar(q + 55).ToString() + rtn;

      return rtn;
    
    }

  } 



```

----------

