Presently sponsored by Serverless Guru: Your guide to cloud excellence, helping you every step of your serverless journey, including team training, pattern development, mass service migrations, architecting, and developing new solutions. Speak to a Guru today.
For a hex literal that’s not prefixed you can quite easily convert it using int.Parse in C#:
string hex = "142CBD"; // this returns 1322173 int intValue = int.Parse(hex, System.Globalization.NumberStyles.HexNumber);
But as you’ve probably noticed, most hex literals are prefixed with 0x (e.g. “0x142CBD”) which would throw a FormatException if you try to parse it using the above code.
In order to parse a 0x prefixed hex literal you need to use the Convert.ToInt32(string value, int fromBase) method instead:
string prefixedHex = "0x142CBD"; // this works, and returns 1322173 int intValue = Convert.ToInt32(prefixedHex , 16);
Thanks for contributing to the developer community.
I share similar information through the article titled [How to Handle Exception to Convert String to Integer (Int32) with C#], or in portuguese, [Como Tratar Exceção ao Converter String para Número Inteiro (Int32) com C#] available at
http://cavas.com.br/index.php/web-serie-como-fazer/como-tratar-excecao-ao-converter-string-para-numero-inteiro-int32-com-c