26/06/2022

Java printf

temelde printf hep aynı halt ama işte pas geçmeyelim.

%[flags] [precision] [width] [conversion-character]

System.out.printf(“this is a format string”,123)

gibi bir yapısı var. parantezin içine iki argüman alır

format string + (object/değişken/değer)

bunu bir format specifier ile yani % işareti kullanırız.

System.out.printf("Burasi string %d",123456);

Burasi string 123456

d= decimal –> conversion character

%d gördüğü yere virgülden sonra ki değeri yazıyor.

%b : boolean

%c: char

%s : string

%d : integer

%f : float, double

Width

kac karakterle değerin yazılacağını belirttir.

örnek %10s –> string 10 karakter ile yazılacaktır.

System.out.printf("Burasi %d string \n",123456);
System.out.printf("Burasi %20d string ",123456);

output

Burasi 123456 string 
Burasi               123456 string 

Precision

double veya floating point outputunda kaç digitin yazılacağını belirlemek için kullanılır.

Örneğin noktadan sonra iki digit için.

    double DD = 1500.256;
    System.out.printf("Buras %f string \n",DD);
    System.out.printf("Buras %.2f string ",DD);

output

Buras 1500,256000 string 
Buras 1500,26 string 

flags

– : sola yasla

+ : sayısal değerler için işareti yaz.

0 : 0 padding yap sayısal değerlere

, : sayılar 1000 den bğzğkse virgül ile gruplandır.

double DD = -15000.256;
System.out.printf("Buras %f string \n",DD);
System.out.printf("Buras %,020.2f string ",DD);

Buyurun 🙂

Buras -15000,256000 string 
Buras -000000000015.000,26 string 

%,020.2f –> , : 1000 den büyükse ayırımı göster (1.000.000 gibi) –> 0 ile padding yap –> 20 karakterlik alana yasla –> decimal olarak 2 digit yaz.

Leave a Reply