将带字母和数字的字符串转换为仅十进制数字

时间:2013-06-13 14:32:05

标签: c# converter

我正在使用RFID Reader,它变成了一个软件演示,它有一些不同类型的阅读rfid tag,如:

HexadecimalDecimalAsciiAbatrack等......

Abatrack文档说:

Shows the CardID converted to decimal with 14 digits

我有一张CardID = 01048CABFB然后使用此协议向我显示00004371295227
where the first four zeroes were added by the software

它将带有字母和数字的string转换为decimal,仅包含数字。我该怎么办?

我找到了THIS,但它位于VB

2 个答案:

答案 0 :(得分:3)

要将十六进制转换为十进制,您可以执行以下操作:

string hexString = "01048CABFB";
long intVal = Int64.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
// intVal = 4371295227

答案 1 :(得分:2)

您还可以使用Convert.ToInt64(),它允许您指定基数16(十六进制):

        string hexFromRFID = "01048CABFB";
        Int64 decFromRFID = Convert.ToInt64(hexFromRFID, 16);
        Console.WriteLine("Hex: " + hexFromRFID + " = Dec: " + decFromRFID);