Visual C ++ (CLI) шестнадцатеричная строка в десятичной основе 10 - PullRequest
1 голос
/ 09 августа 2011

У меня есть шестнадцатеричная строка "40", которую я хотел бы преобразовать в значение десятичной базы 10, равное 64.

Я пытался:

 String^ val = "40";
 Decimal num = Convert::ToDecimal(val);

но это не работает, так как я явно делаю что-то не так. У кого-нибудь есть идеи?

Я использую Visual C ++ (CLI)

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Это должно работать:

String^ val = "40";
Decimal num = Convert::ToInt32(val, 16);
1 голос
/ 09 августа 2011

Простое и эффективное решение будет:

// C#
int num = int.Parse(val, NumberStyles.HexNumber);

// C++
int num = System::Int32::Parse(val, System::Globalization::NumberStyles::HexNumber);
...