usar imprimir funciona formato flotantes con como alinear java formatting scjp ocpjp

java - imprimir - Formateo usando printf y formato



system.out.format como funciona (3)

Debido a que el valor es de tipo double y así es como funciona el convertidor %b con valores de este tipo.

En el siguiente programa

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); } }

El resultado es

123.456trueA 12365

¿Alguien puede explicar cómo un valor doble (es decir, 123.456 ) se convierte en un booleano (es decir, true )?

La razón por la que pregunto es porque sé que Java no permite el uso de números para los valores booleanos. Por ejemplo, lo siguiente no está permitido en Java

if (5) { //do something }

Gracias


La reference parece indicar claramente por qué.

Si el argumento arg es nulo, entonces el resultado es "falso". Si arg es booleano o booleano, el resultado es la cadena que devuelve String.valueOf (). De lo contrario, el resultado es "verdadero".


para "% b": si el argumento arg es nulo, el resultado es "falso". Si arg es booleano o booleano, el resultado es la cadena que devuelve String.valueOf (). De lo contrario, el resultado es "verdadero".

reference