我有一個NSNumber
轉換爲十六進制字符串類似如下:轉換的NSNumber爲十六進制字符串16位
return [NSString stringWithFormat:@"%llX", self.unsignedLongLongValue];
不幸的是,這有時給我串像93728A166D1A287
,他們應該是093728A166D1A287
,取決於數。
提示:領先的。
我也試了一下:
return [NSString stringWithFormat:@"%16.llX", self.unsignedLongLongValue];
沒有成功。
我可以做這樣的事情,但只是吮吸:
- (NSString *)hexValue {
NSString *hex = [NSString stringWithFormat:@"%llX", self.unsignedLongLongValue];
NSUInteger digitsLeft = 16 - hex.length;
if (digitsLeft > 0) {
NSMutableString *zeros = [[NSMutableString alloc] init];
for (int i = 0; i < digitsLeft; i++) [zeros appendString:@"0"];
hex = [zeros stringByAppendingString:hex];
}
return hex;
}
所以最後我的問題,是有沒有辦法強制執行字符串爲16個字符?
'%016llX'(提示:領先的0)... – 2013-11-24 21:18:14