簡體   English   中英

在 C# 中轉換十六進制值

[英]Convert hex value in C#

我正在嘗試將兩位十六進制值顯示為 16 位十六進制值。 即值 =81 到 0x0000000000000081 。 我已經完成了以下代碼:

public long GetHexNumber(long d)
    {

        return long.Parse(d.ToString("X"), System.Globalization.NumberStyles.HexNumber);

    }

但上面的代碼返回相同的十六進制值,即 81 。 請幫忙

像這樣使用Int64.ToString()

    public string GetHexNumber(long d)
    {
        return d.ToString("X16");
    }

X ... 用於轉換為 hexString

16...用於將其轉換為 16 位字符串

如果您希望它具有前導“0x”,請將其更改為:

    return "0x" + d.ToString("X16");

讓我們從提供一個很好的測試示例開始,我們想要

  1. 有一個整數(例如81
  2. 對待就好像它不是十進制,而是十六進制0x81 (我們機械地添加0x
  3. 獲取它的值( 0x81 == 129

像這樣的東西:

 Value -> 0xValue 

如果這是你的情況,解決方案可以是

 // static: we don't have any need in "this" instance
 public static long GetHexNumber(long value) {
   return Convert.ToInt64(value.ToString(), 16);
 } 

測試

 long test = 81;

 Console.WriteLine(81);
 // C# 6.0+ string interpolating
 // if don't use C# 6.0, put it as formatting: 
 // Console.WriteLine("{0:X16}", GetHexNumber(test)); 
 Console.WriteLine($"{GetHexNumber(test):X16}");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM