Parsing visualc&x2B+;(CLI)十六进制字符串到十进制基数10
我有一个十六进制字符串“40”,我想把它转换成以10为基数的十进制值64 我试过:Parsing visualc&x2B+;(CLI)十六进制字符串到十进制基数10,parsing,visual-c++,c++-cli,hex,Parsing,Visual C++,C++ Cli,Hex,我有一个十六进制字符串“40”,我想把它转换成以10为基数的十进制值64 我试过: String^ val = "40"; Decimal num = Convert::ToDecimal(val); 但这不起作用,因为我显然做错了什么。有人有什么想法吗 我使用VisualC++(CLI)这应该工作: String^ val = "40"; Decimal num = Convert::ToInt32(val, 16); 简单而有效的解决办法是: // C# int num = int.
String^ val = "40";
Decimal num = Convert::ToDecimal(val);
但这不起作用,因为我显然做错了什么。有人有什么想法吗
我使用VisualC++(CLI)
这应该工作:
String^ val = "40";
Decimal num = Convert::ToInt32(val, 16);
简单而有效的解决办法是:
// C#
int num = int.Parse(val, NumberStyles.HexNumber);
// C++
int num = System::Int32::Parse(val, System::Globalization::NumberStyles::HexNumber);
我认为不能将
int
直接存储到decimal
类型的变量中。可以。这在VS2010中编译并运行良好。当然可以。C++/CLI具有隐式转换。我错误地想到了C。这个问题不是标注为代码> C++ +CLI < /C>,我只是这样做。C++语法是:<代码> int num=int::解析(Val,NoMyStord::HealNoint)< /Calp>:柯林:我知道…但是谢谢你指出我用错误的语言举了个例子。