有效地将int转换为字符串

时间:2013-07-17 19:53:29

标签: string cocoa type-conversion string-formatting

我在这里看到几个问题/答案,表明在Objective-C中获取整数字符串表示的最佳方法是使用[NSString stringWithFormat:@"%d", x]。我担心我身上的C / C ++程序员很难相信我想把所有的格式代码都带到这么简单的任务中。也就是说,我假设stringWithFormat需要解析格式字符串,寻找我可能使用的所有不同的类型说明符,字段宽度和选项,然后它必须能够解释那个可变长度的参数列表并使用格式说明符将x强制转换为适当的类型,然后经历漫长的转换过程,在此过程中考虑有符号/无符号值和否定。

毋庸置疑,在C / C ++中,我可以简单地使用itoa(x)来完成一件事并且非常有效。

我对一个语言相对于另一个语言的相对优点并不感兴趣,而只是提出问题:是非常强大的[NSString stringWithFormat:@"%d", x] 真的在Objective-C中执行这个非常非常简单的任务的最有效方法是什么?好像我正用大锤敲碎花生。

2 个答案:

答案 0 :(得分:0)

你可以使用itoa(),然后使用+[NSString stringWithUTF8String:] -[NSString initWithBytes:length:encoding:+[NSString stringWithCString:encoding:]中的任何一个,如果它让你感觉更好,但我不会担心,除非你是确定这是一个性能问题。

答案 1 :(得分:-1)

您也可以使用description method。它将其框为NSNumber并转换为NSString

int intVariable = 1;

NSString* stringRepresentation = [@(intVariable) description];