0

整数を文字列に変換するときに、整数をどのようにフォーマットしますか? 例えば:

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

上記は正常に動作しません。私が欲しいのは、たとえば +0200 を表示することです。%+02d は整数 2 を "+02" に変換すると考えるべきです。しかし、それは起こらず、「+2」を取得します。どうしてこれなの?何か間違ったことをしているのですか、それともサポートされていないフォーマットがありますか?

4

3 に答える 3

2

編集:私はついにそれを手に入れました。正と負の両方の数値に対して機能し、先行ゼロを追加します。それが役に立てば幸い。

NSString *str = [NSString stringWithFormat:@"%+03d00", 2];
NSLog(@"%@", str);
于 2012-06-01T18:43:27.143 に答える
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.

Apple ドキュメントへのリンク:
https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html

于 2012-06-01T20:29:54.930 に答える
0

はい、アダムは正しいです:

  NSString *date = [NSString stringWithFormat:
                  @"%+03d00",2];
NSLog(@"date %@",date);
于 2012-06-01T18:44:49.853 に答える