の先頭にゼロを保持したいのですが、NSInteger
それNSLog
を行うとゼロが削除されます。
NSInteger myInteger = 05;
NSLog("%d", myInteger);
ログ:5
5
の代わりに取得し05
ます。0
整数の先頭を維持するにはどうすればよいですか?
NSIntegerは、「先行ゼロ」を実行しません。あなたは数のフォーマットについて考えています。
「」を介して先行ゼロを出力したいだけの場合はNSLog
、次のようにしてみてください。
NSLog( "%02d", myInteger);
これは、NSLogに2桁の数字を指定し、2桁に達しない場合は、先行ゼロを実行するように指示します。
printf形式の指定子(NSLogが準拠しようとしている)を見ると、先行ゼロがどのように追加されているかがわかります。
"%d"
よくわかりませんが、旗の書き方の問題だと思います。だからあなたはcasを使うNSLog(@"%03d", var);
。
005を出力します。
これは、文字列に対してどのように機能するかです。
INT
String(format: "%05.2f"、5.0)は05.00を出力します
ダブル
String(format: "%02d"、5)は次のように出力します:05
ロギングのためだけに必要な場合は、次のようにしてみてください
NSLog(@"0%d" , 5) ;
または、画面に印刷する必要がある場合は、次の形式の文字列に変換します。
NSString *result = [[NSString alloc]initWithFormat:@"0%d" , yourInteger] ;