[英]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");
让我们从提供一个很好的测试示例开始,我们想要
81
)0x81
(我们机械地添加0x
)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.