java - 使用 printf 和 format 进行格式化

在下面的程序中

class ZiggyTest2 {

    public static void main(String[] args){     

        double x = 123.456;
        char c = 65;
        int i = 65;

        System.out.printf("%s",x);
        System.out.printf("%b",x);
        System.out.printf("%c",c);
        System.out.printf("%5.0f",x);
        System.out.printf("%d",i);
    }       
}

输出是

123.456trueA  12365

谁能解释一下 double 值(即123.456)如何转换为 boolean 值(即true)

我问的原因是因为我知道 java 不允许将数字用于 boolean 值。例如,Java 中不允许以下内容

if (5) {
 //do something
}

谢谢

最佳答案

对于“%b”:如果参数 arg 为 null,则结果为“false”。如果 arg 是 boolean 值或 boolean 值,则结果是 String.valueOf() 返回的字符串。否则,结果为“真”。

reference

https://stackoverflow.com/questions/8629995/

相关文章:

string - 在 Excel 中将时间字段转换为字符串

javascript - 如何在 chrome 控制台中完全打印大数组?

python - 如何在 Python logging.Formatter 中右对齐级别字段

c# - 如何将百分比字符串转换为双倍?

hadoop - hadoop namenode 格式到底是什么?

c# - Visual Studio 格式化整个文件?

python - 将 Python 模块划分为多个区域

objective-c - 在 Objective C 中格式化 float

wpf - 如何使所有文本大写/大写?

java - 使用 DecimalFormat 显示填充零