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".