格式化输出时的%b代表如何输出呢?如题,就这么简单,我从没使用过%b,今天偶尔看到了,所以问一下。

解决方案 »

  1.   

    楼主弄错没....,然道不是printf
    目前printf支持以下格式:
              %c        单个字符
              %d        十进制整数
              %f        十进制浮点数
              %o        八进制数
              %s        字符串
              %u        无符号十进制数
              %x        十六进制数
              %%        输出百分号%
      

  2.   

    SCJP中的原题(省略了一部分)
    printf("...%b...",Math.E);
    我试了一下输出:true谁知道%b代表什么?
      

  3.   

    去cn.sun.com上查了一下310-055的考试大纲,
    里面确实有printf(%b,%d,%f...)
    谁知道%b代表什么格式????
      

  4.   

    %B 就是boolean的意思  以下是1.5 api中的解释
    'b', 'B'  常规  如果参数 arg 为 null,则结果为 "false"。如果 arg 是一个 boolean 值或 Boolean,则结果为 String.valueOf() 返回的字符串。否则结果为 "true"。  
    'h', 'H'  常规  如果参数 arg 为 null,则结果为 "null"。否则,结果为调用 Integer.toHexString(arg.hashCode()) 得到的结果。  
    's', 'S'  常规  如果参数 arg 为 null,则结果为 "null"。如果 arg 实现 Formattable,则调用 arg.formatTo。否则,结果为调用 arg.toString() 得到的结果。  
    'c', 'C'  字符  结果是一个 Unicode 字符  
    'd'  整数  结果被格式化为十进制整数  
    'o'  整数  结果被格式化为八进制整数  
    'x', 'X'  整数  结果被格式化为十六进制整数  
    'e', 'E'  浮点  结果被格式化为用计算机科学记数法表示的十进制数  
    'f'  浮点  结果被格式化为十进制数  
    'g', 'G'  浮点  根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。  
    'a', 'A'  浮点  结果被格式化为带有效位数和指数的十六进制浮点数  
    't', 'T'  日期/时间  日期和时间转换字符的前缀。请参阅日期/时间转换。  
    '%'  百分比  结果为字面值 '%' ('\u0025')  
    'n'  行分隔符  结果为特定于平台的行分隔符  
      

  5.   

    java.util.Formatter API document