我想将一个 int 转换为 little endian 十六进制字符串。然后去掉最后两个零。
这是我的诠释:
int score = 2516000;
想要返回的结果:
20642600
子字符串之后的最后一个字符串
206426
这样做最简单的方法是什么?
我想将一个 int 转换为 little endian 十六进制字符串。然后去掉最后两个零。
这是我的诠释:
int score = 2516000;
想要返回的结果:
20642600
子字符串之后的最后一个字符串
206426
这样做最简单的方法是什么?
var reversedBytes = System.Net.IPAddress.NetworkToHostOrder(2516000); // 543434240
var hex = reversedBytes.ToString("x"); // 20642600
var trimmed = hex.Substring(0, hex.Length - 2);
其他解决方案中的hex.TrimEnd('0')
方法将撕掉所有尾随零,而不仅仅是最后一个 2。
var reversedBytes = System.Net.IPAddress.NetworkToHostOrder(2516000); // 543434240
var hex = reversedBytes.ToString("x"); // 20642600
var trimmed = hex.Substring(hex.Length >= 2
? hex.Length - 2
: hex.Length); // 206426
已编辑:已修复trimmed
以匹配用户请求的说明。