将整数转换为字符串时如何格式化?例如:
NSString *date = [NSString stringWithFormat:
@"...somestuff... %+02d00", ...., gmtOffset];
以上不能正常工作。我想要的是,例如,+0200 出现。我应该认为 %+02d 会将我的整数 2 转换为“+02”。但它没有发生,我得到“+2”。为什么是这样?我做错了什么还是不支持某些格式?
将整数转换为字符串时如何格式化?例如:
NSString *date = [NSString stringWithFormat:
@"...somestuff... %+02d00", ...., gmtOffset];
以上不能正常工作。我想要的是,例如,+0200 出现。我应该认为 %+02d 会将我的整数 2 转换为“+02”。但它没有发生,我得到“+2”。为什么是这样?我做错了什么还是不支持某些格式?
编辑:我终于明白了。适用于正数和负数并添加前导零。希望能帮助到你。
NSString *str = [NSString stringWithFormat:@"%+03d00", 2];
NSLog(@"%@", str);
是的,亚当是对的:
NSString *date = [NSString stringWithFormat:
@"%+03d00",2];
NSLog(@"date %@",date);
文档说,有一个 + 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.