Objective c 将0x001234AB转换为NSString“;001234AB";

Objective c 将0x001234AB转换为NSString“;001234AB";,objective-c,Objective C,我用过谷歌,Bing等等,我得到了成百上千个关于如何将字符串转换成整数的答案,但是找不到一个关于如何将数字转换成十六进制字符串的例子。我需要将数千个字符(转换成相同的字符串)转换成更快的方法 int x = 0x001234ab; NSString str; <------- what should behere? NSLog(str); // outputs "001234AB" or "001234ab" int x=0x001234ab; NSString-str; 或者如果你想

我用过谷歌,Bing等等,我得到了成百上千个关于如何将字符串转换成整数的答案,但是找不到一个关于如何将数字转换成十六进制字符串的例子。我需要将数千个字符(转换成相同的字符串)转换成更快的方法

int x = 0x001234ab;
NSString str;
<-------  what should behere?
NSLog(str); // outputs "001234AB" or "001234ab"
int x=0x001234ab;
NSString-str;
或者如果你想把它串起来

NSString *s = [NSString stringWithFormat:@"%x", x];
如果需要前导零,则格式如下所示

@"%0yx"

其中y是零的数量(例如8)。

提示:
NSString
有一个
stringWithFormat:
方法…前导零如何?这是不可能的,因为在运行时不知道整数是如何存储的。您的数据源是源代码文件吗?@exebook您可以设置它将打印的最小字符数。对于您的示例,您需要
%08x
,但您无法在@JeanLuc所述的代码中检测到它。如果您希望在小写/大写中使用十六进制数,则使用小写/大写x/x。
@"%0yx"