Конвертация ToUint32 - C#
Формулировка задачи:
допустим, я хочу получить из текстбокса строчку и записать ее в значение Uint32
если строчка будет 12345, то все нормально. Но у меня текстовая строка вида HEX, т.е. может быть 123ABCD. Как правильно перегрузить этот метод, чтобы он понимал вид HEX?
Листинг программы
- k[0] = Convert.ToUInt32(textBoxKey1.Text);
Решение задачи: «Конвертация ToUint32»
textual
Листинг программы
- static string bukv = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- static void Main(string[] args)
- {
- string l = Console.ReadLine();
- uint i = Convert.ToUInt32(FromN(l, "16"));
- Console.WriteLine(i.ToString());
- Console.ReadLine();
- }
- private static string FromN(string number, string sys)
- {
- int newNum = 0;
- string temp = "";
- int t;
- int i;
- for (i = 0; i < number.Length; i++)
- {
- temp = "";
- temp += newCh(number.Substring(i, 1), "from");
- t = (int)Math.Pow(Convert.ToDouble(sys), Convert.ToDouble(number.Length - (i + 1)));
- newNum += Convert.ToInt32(temp) * t;
- }
- return newNum.ToString();
- }
- static string newCh(string sym, string otk)
- {
- string s = "";
- if (otk == "to")
- {
- if (Convert.ToInt32(sym) > 10)
- s += bukv.Substring(Convert.ToInt32(sym) - 10, 1);
- else
- s += sym;
- }
- else if (otk == "from")
- {
- if (bukv.IndexOf(sym) == -1)
- s += sym;
- else
- s += (bukv.IndexOf(sym) + 10).ToString();
- }
- return s;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д