<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    Objective-C NSString formatting

    The format specifiers supported by the NSString formatting methods and CFString formatting
    functions follow the IEEE printf specification; the specifiers are summarized in Table 1.
    Note that you can also use the “n$” positional specifiers such as %1$@ %2$s.
    For more details, see the IEEE printf specification. You can also use these format specifiers with the NSLog function.

    Table 1 Format specifiers supported by the NSString formatting methods and CFString formatting functions
    定義說明
    %@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, %iSigned 32-bit integer (int)
    %u, %UUnsigned 32-bit integer (unsigned int)
    %hiSigned 16-bit integer (short)
    %huUnsigned 16-bit integer (unsigned short)
    %qiSigned 64-bit integer (long long)
    %quUnsigned 64-bit integer (unsigned long long)
    %xUnsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and lowercase a–f
    %XUnsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and uppercase A–F
    %qxUnsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and lowercase a–f
    %qXUnsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and uppercase A–F
    %o, %OUnsigned 32-bit integer (unsigned int), printed in octal
    %f64-bit floating-point number (double)
    %e64-bit floating-point number (double), printed in scientific notation using a lowercase e to introduce the exponent
    %E64-bit floating-point number (double), printed in scientific notation using an uppercase E to introduce the exponent
    %g64-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
    %G64-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
    %c8-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
    %C16-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
    %sNull-terminated array of 8-bit unsigned characters. %s interprets its input in the system encoding rather than, for example, UTF-8.
    %SNull-terminated array of 16-bit Unicode characters
    %pVoid pointer (void *), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading 0x
    %LLength modifier specifying that a following a, A, e, E, f, F, g, or G conversion specifier applies to a long double argument
    %a64-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
    %A64-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
    %F64-bit floating-point number (double), printed in decimal notation
    %zLength modifier specifying that a following d, i, o, u, x, or X conversion specifier applies to a size_t or the corresponding signed integer type argument
    %tLength modifier specifying that a following d, i, o, u, x, or X conversion specifier applies to a ptrdiff_t or the corresponding unsigned integer type argument
    %jLength modifier specifying that a following d, i, o, u, x, or X conversion specifier applies to a intmax_t or uintmax_t argument


    Mac OS X uses several data types—NSInteger, NSUInteger,CGFloat, and CFIndex—to provide a
    consistent means of representing values in 32- and 64-bit environments. In a 32-bit environment,
    NSInteger and NSUInteger are defined as int and unsigned int, respectively. In 64-bit environments,
    NSInteger and NSUInteger are defined as long and unsigned long, respectively. To avoid the need to
    use different printf-style type specifiers depending on the platform, you can use the specifiers shown
    in Table 2. Note that in some cases you may have to cast the value.

    Table 2 Format specifiers for data types
    類型定義建議
    NSInteger%ld or %lxCast the value to long
    NSUInteger%lu or %lxCast the value to unsigned long
    CGFloat%f or %g%f works for floats and doubles when formatting; but see below warning when scanning
    CFIndex%ld or %lxThe same as NSInteger
    pointer%p%p adds 0x to the beginning of the output. If you don’t want that, use %lx and cast to long.
    long long%lld or %llxlong long is 64-bit on both 32- and 64-bit platforms
    unsigned long long%llu or %llxunsigned long long is 64-bit on both 32- and 64-bit platforms

    The following example illustrates the use of %ld to format an NSInteger and the use of a cast.

    1
    2
    NSInteger i = 42;
    printf("%ld\n", (long)i);

    In addition to the considerations mentioned in Table 2, there is one extra case with scanning:
    you must distinguish the types for float and double. You should use %f for float, %lf for double.
    If you need to use scanf (or a variant thereof) with CGFloat, switch to double instead, and copy the double to CGFloat.

    1
    2
    3
    4
    CGFloat imageWidth;
    double tmp;
    sscanf (str, "%lf", &amp;tmp);
    imageWidth = tmp;

    It is important to remember that %lf does not represent CGFloat correctly on either 32- or 64-bit platforms.
    This is unlike %ld, which works for long in all cases.





    posted on 2012-03-04 00:27 gembin 閱讀(1075) 評(píng)論(0)  編輯  收藏 所屬分類: Objective-C


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊(cè)

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    free counters
    主站蜘蛛池模板: 亚洲国产精品lv| 无码av免费毛片一区二区| 欧洲精品码一区二区三区免费看| 亚洲精品无码专区| 亚洲日本在线电影| 国产成人亚洲精品无码AV大片| 日韩成人精品日本亚洲| 免费人妻精品一区二区三区| 黄网站色视频免费观看45分钟| 男人免费视频一区二区在线观看| 免费一级全黄少妇性色生活片| www一区二区www免费| 久草免费福利视频| 无码人妻一区二区三区免费手机 | 免费国产成人午夜在线观看| 伊人久久大香线蕉免费视频| 最近2019免费中文字幕6| 青春禁区视频在线观看直播免费| 午夜网站免费版在线观看| 免费人成网站7777视频| 伊人久久亚洲综合影院首页| 成人亚洲国产va天堂| 国产大陆亚洲精品国产| 国产午夜精品免费一区二区三区| 美女内射毛片在线看免费人动物| 69成人免费视频| 亚洲?v无码国产在丝袜线观看 | 日韩免费高清播放器| 国产精品免费网站| 免费人成视频x8x8入口| 亚洲av日韩av高潮潮喷无码| 亚洲天堂2017无码中文| 一级毛片a免费播放王色| 久久国产乱子伦免费精品| 嫩草影院在线免费观看| 亚洲人成网站在线播放vr| 亚洲人成网站999久久久综合| 国产一级片免费看| 亚洲精品A在线观看| 国产亚洲精品成人AA片| 国产在线精品免费aaa片|