如何将十六进制值从字符串转换为int?

时间:2009-07-11 03:18:10

标签: c# string hex

我有一个字符串,其格式通常为:"0xFF"。 我会修剪它,因为有可能有空格。

如何将其转换为十六进制并将“34”转换为十进制? 我知道.Parse但是当字符串为"0x123"时,它是否支持十六进制字符?

2 个答案:

答案 0 :(得分:4)

您必须删除“0x”部分,但此代码段有效:

using System;
using System.Globalization;

public class StrToInt {
    public static void Main(string[] args) {
        string val = "FF";
        int num = Int32.Parse(val, NumberStyles.AllowHexSpecifier);
        Console.WriteLine(num);
    }
}

答案 1 :(得分:3)

int i = int.Parse( "FF", System.Globalization.NumberStyles.HexNumber );
MessageBox.Show( i.ToString() );  // displays 255

但是,您需要修剪前导“0x”。