用0x将十六进制字符串转换为int32 (c#)



我有一个字符串得到"0030FF"我想把它转换成int32通过在开头加一个0x。有办法吗?

int需要像这样:0x0030FF.

你可以这样做:

string value = "0030FF";
int result = int.Parse(value, System.Globalization.NumberStyles.HexNumber);
string numberedHex = $"0x{result:X6}";

如果您想给定字符串转换为int,您可以使用Convert:

// 16 - we expect myString being a hexadecimal int representation 
int myInt = Convert.ToInt32(myString, 16);

如果你想将myInt表示为0x...,你可以使用格式(注意,int myInt只是一些整数值,比如123,没有任何格式):

// X6 is a formatting string: we want at least 6 hexadecimal digits 
string myHex = $"0x{myInt:X6}";
Console.Write(myHex); 

最新更新