Format specifiers are the percent character, followed by a letter, such as %d or %f that tell NSLog or printf() to print the value or result of a variable, value, and/or expression.
Here is a list of Objective-C format specifiers:
Here is a list of Objective-C format specifiers:
%@ | Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise. Also works with CFTypeRef objects, returning the result of the CFCopyDescription function. |
%% | '%' character. |
%d , %D | Signed 32-bit integer (int ). |
%u , %U | Unsigned 32-bit integer (unsigned int ). |
%x | Unsigned 32-bit integer (unsigned int ), printed in hexadecimal using the digits 0–9 and lowercase a–f. |
%X | Unsigned 32-bit integer (unsigned int ), printed in hexadecimal using the digits 0–9 and uppercase A–F. |
%o , %O | Unsigned 32-bit integer (unsigned int ), printed in octal. |
%f | 64-bit floating-point number (double ). |
%e | 64-bit floating-point number (double ), printed in scientific notation using a lowercase e to introduce the exponent. |
%E | 64-bit floating-point number (double ), printed in scientific notation using an uppercase E to introduce the exponent. |
%g | 64-bit floating-point number (double ), printed in the style of %e if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise. |
%G | 64-bit floating-point number (double ), printed in the style of %E if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise. |
%c | 8-bit unsigned character (unsigned char ), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd , where d is a digit. |
%C | 16-bit Unicode character (unichar ), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd , where d is a digit. |
%s | Null-terminated array of 8-bit unsigned characters. Because the %s
specifier causes the characters to be interpreted in the system default
encoding, the results can be variable, especially with right-to-left
languages. For example, with RTL, %s inserts direction markers when the characters are not strongly directional. For this reason, it’s best to avoid %s and specify encodings explicitly. |
%S | Null-terminated array of 16-bit Unicode characters. |
%p | Void pointer (void * ), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading 0x . |
%a | 64-bit floating-point number (double ), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent. |
%A | 64-bit floating-point number (double ), printed in scientific notation with a leading 0X and one hexadecimal digit before the decimal point using a uppercase P to introduce the exponent. |
%F | 64-bit floating-point number (double ), printed in decimal notation. |