4

我想将一个 int 转换为 little endian 十六进制字符串。然后去掉最后两个零。

这是我的诠释:

int score = 2516000;

想要返回的结果:

20642600

子字符串之后的最后一个字符串

206426

这样做最简单的方法是什么?

4

2 回答 2

3
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。

于 2013-01-07T06:37:26.460 回答
1
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以匹配用户请求的说明。

于 2013-01-07T06:21:36.767 回答