私は他の誰かのコードを読んでいて、%@-1 を使用して整数をフォーマットしています。シンボルを無視するため、Google で何も見つかりません。私よりも文字列の書式設定の経験が豊富な人はいますか?
[NSString stringWithFormat:@"%@-1", subnumber]
ありがとう!
私は他の誰かのコードを読んでいて、%@-1 を使用して整数をフォーマットしています。シンボルを無視するため、Google で何も見つかりません。私よりも文字列の書式設定の経験が豊富な人はいますか?
[NSString stringWithFormat:@"%@-1", subnumber]
ありがとう!
仕様によると:
各変換仕様は、'%' 文字または文字シーケンス "%n$" によって導入され、その後に次の文字が順番に表示されます。
変換指定の意味を変更する 0 個以上のフラグ (任意の順序)。
オプションの最小フィールド幅。変換された値のバイト数がフィールド幅よりも少ない場合、デフォルトで左側にスペースが埋め込まれます。後述の左調整フラグ (「-」) がフィールド幅に指定されている場合は、右側がパディングされます。フィールド幅は、以下で説明するアスタリスク ( '*' )、または 10 進整数の形式を取ります。
d、i、o、u、x、および X 変換指定子に表示される最小桁数を指定するオプションの精度。a、A、e、E、f、および F 変換指定子の基数文字の後に表示される桁数。g および G 変換指定子の最大有効桁数。または、s [XSI] [Option Start] および S [Option End] 変換指定子の文字列から出力される最大バイト数。精度は、ピリオド ( '.' ) の後にアスタリスク ( '*' ) (後述) が続く形式か、オプションの 10 進数文字列 (ヌル数字文字列はゼロとして扱われる) のいずれかの形式を取ります。精度が他の変換指定子と共に表示される場合、動作は未定義です。
引数のサイズを指定するオプションの長さ修飾子。
適用する変換のタイプを示す変換指定子文字。
ここにはドル記号がないため、最初のタイプの変換を使用しています。上記のリストの一番上にある順番の単語に注意してください。は@
変換指定子文字 (ここで説明) であり、渡された値にアクセスしてそのプロパティNSObject
を読み取る必要があることを示します。description
すでに最後の箇条書きに到達しているため、形式コードは実際には@
記号の後に終了し、@Kevin Ballard が指摘したように、-1
はリテラル テキストとして解析されます。
これは単に「NUM-1」(NUM は数字) を出力するだけです。例を挙げると、数字が 5 の場合、「5-1」と出力されます。
フォーマット文字列を使用する場合、フォーマット トークンの修飾子は、フォーマット タイプ指定子の前に配置する必要があります。この場合、%@
トークンに対する修飾子は%
と の間で発生する必要があることを意味します@
(実際に%@
受け入れられる修飾子があるかどうかはわかりません)。
subnumber はおそらく NSNumber のようなクラスのオブジェクトです。%d を int に、%f を float に使用するように、%@ は参照のプレースホルダーです。その場合
NSNumber *subnumber = [NSNumber numberWithInt:5];
NSLog([NSString stringWithFormat:@"%@-1", subnumber]);
「5-1」を出力します