わかればいいやという程度、以下ドキュメントの適当意訳
ドキュメント外のフォーマット指定子も少しずつ追記予定。
Apple公式 String Format Specifiers
指定子 | 説明 |
---|---|
%@ | Objective-Cのオブジェクト、descriptionWithLocale又はdescriptionによって返された文字列。CFTypeRefオブジェクトの場合はCFCopyDescriptionの結果を表示する |
%% | '%' 1文字 |
%d, %D, %i | 符号付き32bit整数(int) |
%u, %U | 符号なし32bit整数(unsigned int) |
%hi | 符号付き16bit整数(short) |
%hu | 符号なし16bit整数(unsigned short) |
%hu | 符号なし16bit整数(unsigned short) |
%qi | 符号付き64bit整数(long long) |
%x | 符号なし32bit整数(unsigned int), 0-9と小文字のa-fを用いた16進数で表示 |
%X | 符号なし32bit整数(unsigned int), 0-9と大文字のA-Fを用いた16進数で表示 |
%qx | 符号なし64bit整数(unsigned long long), 0-9と小文字のa-fを用いた16進数で表示 |
%lu | 符号なし倍精度整数(unsigned long) |
%qX | 符号なし64bit整数(unsigned long long), 0-9と大文字のA-Fを用いた16進数で表示 |
%o, %O | 符号なし32bit整数(unsigned int), 8進数で表示 |
%f | 64bit浮動小数点数 (double) |
%e | 64bit浮動小数点数 (double),小文字のe付きの科学的記数法で表示 |
%E | 64bit浮動小数点数 (double),大文字のE付きの科学的記数法で表示 |
%g | 64bit浮動小数点数 (double),指数部が-4以下または精度以上の整数は%e、その他の場合は%fで出力 (下記サンプルコード参照) |
%gのサンプルコード
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { double d_value_max = DBL_MAX; //doubleはおおむね10の-307乗から10の308乗、有効15桁の実数を表すことができます。 double val_A = 145.789; double val_B = 0.0001; //指数が-4なので%f形式 double val_C = 0.00001; //指数が-5なので%e形式 double val_D = 1234567.07;//整数桁が7桁以上で%e形式 double val_E = 12345.6366;//整数部が7桁未満で少数を含む場合、四捨五入がおこる double val_F = 15.0000; //少数部の末尾が0の場合、0は表示されない int val_G = 23445; //整数型をいきなり%gで出そうとすると予期しない値を返す事がある NSLog(@"double型の最大値を%%fで出力%f",d_value_max); NSLog(@"double型の最大値を%%gで出力%g",d_value_max); NSLog(@"val_Aの値:%g",val_A); NSLog(@"val_Bの値:%g",val_B); NSLog(@"val_Cの値:%g",val_C); NSLog(@"val_Dの値:%g",val_D); NSLog(@"val_Eの値:%g",val_E); NSLog(@"val_Fの値:%g",val_F); NSLog(@"val_Gの値:%g",val_G); } return 0; }