将整数转换为格式化字符串

时间:2012-06-01 18:23:02

标签: objective-c cocoa nsstring type-conversion

当我将其转换为字符串时,如何格式化整数?例如:

NSString *date = [NSString stringWithFormat:
       @"...somestuff... %+02d00", ...., gmtOffset];

以上操作无效。我想要的是,例如,+ 0200出现。我认为%+ 02d会将我的整数2转换为“+02”。但它没有发生,我得到“+2”。为什么是这样?我做错了什么还是不支持某种格式化?

3 个答案:

答案 0 :(得分:2)

编辑:我终于明白了。适用于正数和负数,并添加前导零。希望它有所帮助。

NSString *str = [NSString stringWithFormat:@"%+03d00", 2];
NSLog(@"%@", str);

答案 1 :(得分:0)

是的,亚当是对的:

  NSString *date = [NSString stringWithFormat:
                  @"%+03d00",2];
NSLog(@"date %@",date);

答案 2 :(得分:0)

文档说,有一个+ as修饰符。但我不知道如何确切地放置/使用它。

http://pubs.opengroup.org/onlinepubs/009695399/functions/printf.html

+ The result of a signed conversion shall always begin with a sign ( '+' or '-' ). The conversion shall begin with a sign only when a negative value is converted if this flag is not specified.

苹果文档中的链接:
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html