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

Convert hex string to int32 with 0x (C#)

我有一个字符串为“0030FF”。我想通过在开头添加 0x 将其转换为 int32。有什么办法吗?

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);