書式設定文字列内の変換指定は、パーセント記号 (%) で始まります。その後、順番に次の情報を指定します。
変換指定の意味を変更する 0 個以上の「フラグ」。複数指定する場合、どのような順序で指定してもかまいません。詳細は、次の節で説明します。
最小「フィールド幅」(オプション)。変換後の値のバイト数が、フィールド幅のバイト数より少ない場合、デフォルトで、値の左側に空白文字が入ります。左詰めフラグ (-) が指定されている場合、空白文字は値の右側に入ります。フィールド幅は、アスタリスク (*) でも指定できます。この場合、フィールド幅は、int 型の追加引数の値に基づいて動的に設定されます。
「精度」(オプション)。変換が d、i、o、u、x、および X の場合、表示される最小桁数 (フィールドの先頭にはゼロが入る) を表します。変換が e、E、および f の場合は基数文字の後ろに表示される桁数、変換が g または G の場合は最大有効桁数、変換が s の場合は最大バイト数を表します。精度は、ピリオド (.) とアスタリスク (*)、またはピリオドと 10 進数の文字列で指定します。
「サイズ接頭辞」(オプション)。対応する引数のサイズを指定します。詳細については、「サイズ接頭辞」を参照してください。D ではサイズ接頭辞を指定する必要はありませんが、C の printf() 関数との互換性のため、使用できるようになっています。
「変換指定子」。引数に適用する変換の型を指定します。
printf(3C) 関数では % n$ (n は 10 進整数) の形式も使用できますが、DTrace の printf() では、この形式の変換指定はサポートされていません。