给定一个十六进制字符串,我们必须将其转换为整数。
假设您有一个字符串“ 3039”,它是一个整数12345的十六进制值,但是该值是字符串格式,并且您想要它的整数(数字)值。
要将十六进制字符串转换为整数–我们使用Convert.ToInt32()方法。
语法:
Convert.ToInt32(input_string, Input_base);
这里,
input_string是包含字符串格式的十六进制数字的输入。
input_base是输入值的基数-对于十六进制值,它将为16。
示例
Input: "3039" Function call: Convert.ToInt32(input, 16); Output: 12345 Input: "303a" Function call: Convert.ToInt32(input, 16); Output: 12346 Input: "303ag" //不是“ g”不是有效的十六进制数字 Function call: Convert.ToInt32(input, 16); Output: Exception
码:
using System;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
//十六进制数作为字符串
string input = "3039";
int output = 0;
//转换为整数
output = Convert.ToInt32(input, 16);
//输出值
Console.WriteLine("Integer number: " + output);
//按ENTER退出
Console.ReadLine();
}
}
}输出结果
Integer number: 12345
异常处理示例
码:
using System;
using System.Text;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string input = "";
int output = 0;
try
{
//输入字符串
Console.Write("Enter a hexadecimal number: ");
input = Console.ReadLine();
//转换为整数
output = Convert.ToInt32(input, 16);
Console.WriteLine("Integer number: " + output);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
//按ENTER退出
Console.ReadLine();
}
}
}输出结果
First run with valid input: Enter a hexadecimal number: 3039 Integer number: 12345 Second run with valid input: Enter a hexadecimal number: 303a Integer number: 12346 Third run with invalid input: Enter a hexadecimal number: 303ag System.FormatException: Additional non-parsable characters are at the end of the string. at System.ParseNumbers.StringToInt(String s, Int32 radix, Int32 flags, Int32* currPos) at System.Convert.ToInt32(String value, Int32 fromBase) at ConsoleApplication3.Program.Main(String[] args) in F:\Ankur\SerialPort\Con soleApplication3\ConsoleApplication3\Program.cs:line 19