2013-07-17 102 views
0

我有一些int值,我想要转换为一个字符串,但在十六进制。 此十六进制值应始终格式化为2位数。下面将int格式转换为十六进制字符串

例子:

int a = 10; 
int b = 20; 

//returns the value in hex 
string c = a.toString("x"); // a 
string d = b.toString("x"); // 14 

我想的是,始终是在两位数字的十六进制值结果。显示为“0a”,不仅是“a”。

我使用INT转换为格式化字符串,

int e = 1; 
string f = e.toString("D2"); // 01 

有办法两个东西放在一起?将int转换为十六进制格式的字符串?

+0

有一个BUIL函数来做到这一点。你为什么要建立一个新的功能去做一些已经存在的事情?如果您想知道您所做的只是获取整数的位,然后显示该字符串并向该字符串添加“0x”。 –

+0

@Rhhound:你一点都不清楚你的意思。 OP正在重用现有的'ToString'方法,而不是构建自己的...并且没有迹象表明他想要字符串中的“0x”。 –

回答

5

您可以使用此

int e = 1; 
string f = e.toString("x2"); 
5

有两种方法可行吗?

是的 - 你只是使用x2。你已经有了x的十六进制位和D2的“2个字符”部分 - 你只需要把它们合并。

有关更多信息,请参阅standard numeric format strings的文档。

相关问题