Java simli format String.format () Java metodu, qəbul edilən dilə, formata və arqumentlərə əsaslanan formatlaşdırılmış bir simli dəyəri qaytarır. Yerli dili təyin etməsək, bu, Locale.getDefault () -dan standart dilini alır. Daha çox arqument qəbul edildikdə əlavə arqumentlər nəzərə alınmayacaq.
bu üsul C dilinin sprintf () metoduna və Java Print axınının printf () metoduna bənzəyir.
Mündəricat
Java-da simli format () sintaksis
String format () metodunu aşağıdakı 2 şəkildə istifadə edə bilərik:
Yerli istifadə etmədən
ümumi statik simli format (simli format, obyekt… args)
Yerli istifadə
ümumi statik Simli format (Yerli dil, Simli format, Obyekt… arqlar)
yerli - format () metoduna tətbiq edilməsi lazım olan yerli
format - tələb olunan simli format
args - format sətri üçün arqumentlər. Sıfır və ya daha çox ola bilər.
Simli format () İstisnalar
The Java simli format () metodu 2 istisnanın altına atır:
NullPointerException - format boş olduqda
QanunsuzFormatExsus etmə və ya IllelagFormatConversionException - göstərilən format qanunazidd olduqda və ya uyğun gəlmədikdə
MissingFormatArgumentException - göstərilən format üçün arqument itkin olduqda.
Java String formatı növləri
Çevirmək üçün aşağıdakı simli format növlərindən istifadə edə bilərik Sim
Format növü | Məlumat Növü | Buraxılış |
---|---|---|
%a | Üzən nöqtə | Üzən nöqtə sayının onaltılıq dəyəri |
%b | Hər hansı bir növü | Boş deyilsə “Doğru”, sıfırsa “Yanlış” |
%c | Obraz | Unicode xarakteri |
%d | Tam | Ondalık tam ədədi |
%e | Üzən nöqtə | Elmi qeydlərdə ondalık rəqəm |
%f | Üzən nöqtə | Onluq ədədi |
%g | Üzən nöqtə | Dəqiqlik və dəyərə əsaslanan elmi qeydlərdə ondalık say |
%h | Hər hansı bir növü | HashCode () metodundan Hex String dəyəri |
%n | heç kim | Platformaya xas olan ayırıcı |
%o | Tam | Səkkiz ədəd |
%s | Hər hansı bir növü | Sim |
%t | Tarix / Vaxt | Bu tarix / saat konversiyası üçün prefiksdir. Daha ətraflı məlumat üçün aşağıdakı cədvələ baxın |
%x | Tam | Altı simli |
Java String format nümunələri
public class Democlass { public static void main(String[] args) { formatString(); } public static void formatString() { System.out.println("Output of %a is " + String.format("%a", 1.5)); System.out.println("Output of %b is " + String.format("%b", false)); System.out.println("Output of %B is " + String.format("%B", true)); System.out.println("Output of %c is " + String.format("%c", 'd')); System.out.println("Output of %d is " + String.format("%d", 101)); System.out.println("Output of %e is " + String.format("%e", 5.6)); System.out.println("Output of %f is " + String.format("%f", 5.6)); System.out.println("Output of %g is " + String.format("%g", 5.6)); System.out.println("Output of %h is " + String.format("%h", 10)); System.out.println("Output of %n is " + String.format("%n")); System.out.println("Output of %o is " + String.format("%o", 8)); System.out.println("Output of %s is " + String.format("%s", "Java")); System.out.println("Output of %x is " + String.format("%x", 10)); } }
Output: Output of %a is 0x1.8p0 Output of %b is false Output of %B is TRUE Output of %c is d Output of %d is 101 Output of %e is 5.600000e+00 Output of %f is 5.600000 Output of %g is 5.60000 Output of %h is a Output of %n is Output of %o is 10 Output of %s is Java Output of %x is a
Simli format Tarix Vaxt Növləri
Yuxarıdakı cədvəldə qeyd edildiyi kimi, Java String formatında tarix-vaxt dönüşümləri üçün %t istifadə edirik. Bir istifadə edərkən yuxarı halda %t ilə birlikdə xarakter, böyük hərflə çıxış əldə edirik. Eyni şəkildə istifadə etdiyimiz zaman aşağı halda %t ilə birlikdə xarakter, kiçik hərflə çıxış əldə edirik.
Format növü | Buraxılış |
---|---|
% tA | Həftə içi tam adı, Məsələn: Bazar |
% ta | Həftə içi qısa adı, məsələn: Günəş |
% tB | Ayın tam adı, Məsələn: yanvar |
% tb | Ayın qısa adı, məs: Jan |
% tC | İki rəqəmlə formatlanmış il, məsələn: 2-dan 00-a qədər |
% tc | Tarix və Saat “% ta% tb% td% tT% tZ% tY” formatında, Məsələn: Cümə 23 May 21:25:46 IST 2020 |
% tD | Tarix “MM / DD / YY” formatında, məsələn: 05/23/20 ” |
% td | Ayın günü 2 rəqəmli olaraq, məsələn: 01-dən 31-ə qədər |
% te | Ayın günü 0-a çıxmadan, Məsələn: 1-dən 31-ə qədər |
% tF | “YYYY-MM-DD” tarixində format |
% tH | 24 saat formatında günün saatı |
% -ci | % Tb ilə eyni |
% tI | 12 saat formatında günün saatı |
% tj | İlin aparıcı 0. İldə olan gün. Məsələn: 001-dən 366-ya |
% tk | Günün saatı 24 saat formatında 0, məsələn: 0 ilə 23 arasında aparılmadan |
% tl | Günün saatı 12 saat formatında 0, məsələn: 0 ilə 12 arasında aparılmadan |
% tM | 0 aparıcı ilə saat dəqiqəsi, məsələn: 00-dan 59-a |
% tm | Ay aparıcı 0 ilə formatlaşdırılıb, məsələn: 01-dən 12-dək |
% tN | 9 rəqəmlə formatlanmış və 0-a rəhbərlik edən vaxtın nanosaniyəsi, Məsələn: 000000000-dən 999999999-a qədər |
% tp | Yerli vaxta əsasən xüsusi, məsələn: am və ya pm |
% tQ | Millisekundlar |
% tR | 24 saat formatında “HH: MM” şəklində vaxt |
% tr | 12 saat formatında “HH: MM: SS AM / PM” şəklində vaxt |
% tS | Dəqiqənin saniyələri 2 rəqəmlə formatlanıb, məsələn: 00-dan 59-a qədər |
% ts | seconds |
% tT | 24 saat formatında “HH: MM: SS” şəklində vaxt |
% tY | 4 rəqəm formatında "YYYY" olaraq il |
% ty | “YY” olaraq iki rəqəm formatında il |
% tZ | Saat qurşağı qısaltması, Məsələn: IST, UTC |
% tz | Saat qurşağı GMT-dən ofset, Məsələn: +0530 |
Tarix-Saat ilə Java String format nümunəsi
Aşağıdakı nümunədə format () metodundan istifadə edərək tarixin və ya vaxtın istənilən hissəsini necə əldə edə biləcəyimizi görə bilərik.
import java.util.Calendar; public class Democlass { public static void main(String[] args) { formatDateTimeString(); } public static void formatDateTimeString() { System.out.println("Output of %tA is " + String.format("%tA", Calendar.getInstance())); System.out.println("Output of %ta is " + String.format("%ta", Calendar.getInstance())); System.out.println("Output of %tB is " + String.format("%tB", Calendar.getInstance())); System.out.println("Output of %tb is " + String.format("%tb", Calendar.getInstance())); System.out.println("Output of %tC is " + String.format("%tC", Calendar.getInstance())); System.out.println("Output of %tc is " + String.format("%tc", Calendar.getInstance())); System.out.println("Output of %tD is " + String.format("%tD", Calendar.getInstance())); System.out.println("Output of %td is " + String.format("%td", Calendar.getInstance())); System.out.println("Output of %te is " + String.format("%te", Calendar.getInstance())); System.out.println("Output of %tF is " + String.format("%tF", Calendar.getInstance())); System.out.println("Output of %tH is " + String.format("%tH", Calendar.getInstance())); System.out.println("Output of %th is " + String.format("%th", Calendar.getInstance())); System.out.println("Output of %tI is " + String.format("%tI", Calendar.getInstance())); System.out.println("Output of %tj is " + String.format("%tj", Calendar.getInstance())); System.out.println("Output of %tk is " + String.format("%tk", Calendar.getInstance())); System.out.println("Output of %tl is " + String.format("%tl", Calendar.getInstance())); System.out.println("Output of %tM is " + String.format("%tM", Calendar.getInstance())); System.out.println("Output of %tm is " + String.format("%tm", Calendar.getInstance())); System.out.println("Output of %tN is " + String.format("%tN", Calendar.getInstance())); System.out.println("Output of %tp is " + String.format("%tp", Calendar.getInstance())); System.out.println("Output of %tQ is " + String.format("%tQ", Calendar.getInstance())); System.out.println("Output of %tR is " + String.format("%tR", Calendar.getInstance())); System.out.println("Output of %tr is " + String.format("%tr", Calendar.getInstance())); System.out.println("Output of %tS is " + String.format("%tS", Calendar.getInstance())); System.out.println("Output of %ts is " + String.format("%ts", Calendar.getInstance())); System.out.println("Output of %tT is " + String.format("%tT", Calendar.getInstance())); System.out.println("Output of %tY is " + String.format("%tY", Calendar.getInstance())); System.out.println("Output of %ty is " + String.format("%ty", Calendar.getInstance())); System.out.println("Output of %tZ is " + String.format("%tZ", Calendar.getInstance())); System.out.println("Output of %tz is " + String.format("%tz", Calendar.getInstance())); } }
Output: Output of %tA is Sunday Output of %ta is Sun Output of %tB is May Output of %tb is May Output of %tC is 20 Output of %tc is Sun May 24 09:40:28 IST 2020 Output of %tD is 05/24/20 Output of %td is 24 Output of %te is 24 Output of %tF is 2020-05-24 Output of %tH is 09 Output of %th is May Output of %tI is 09 Output of %tj is 145 Output of %tk is 9 Output of %tl is 9 Output of %tM is 40 Output of %tm is 05 Output of %tN is 650000000 Output of %tp is am Output of %tQ is 1590293428650 Output of %tR is 09:40 Output of %tr is 09:40:28 AM Output of %tS is 28 Output of %ts is 1590293428 Output of %tT is 09:40:28 Output of %tY is 2020 Output of %ty is 20 Output of %tZ is IST Output of %tz is +0530
Arqument indeksi
Format üçün String format metodunda arqument indeksini “%” - “$” arasında qeyd etməklə təyin edə bilərik. İndeks həmişə 1-dən başlayır.
Aşağıdakı misalda, 1-ci bəyanat “Java” nı iki dəfə yazdırır, çünki arqument indeksini iki dəfə 2 olaraq keçiririk. 1-ci ifadə yalnız arqument göstəricisi 2-dən bəri keçdiyimiz ikinci sətri yazdırır.
Arqument indeksi olan Java String format nümunəsi
public class Democlass { public static void main(String[] args) { String str1 = "Java"; String str2 = "Tutorial"; System.out.println(String.format("%1$s %1$s %2$s" , str1,str2)); System.out.println(String.format("%2$s", "Hello","world")); } }
Output: Java Java Tutorial world
Hizalama və dolgu
Formatı () metodunu sola / sağa düzəltmək və simli 0s ilə doldurmaq üçün də istifadə edə bilərik.
Tam ədədlərin formatlanması
Lazımi bir ədədin genişliyini / uzunluğunu boşluq, sol hizalamaq və ya tam bir eni 0-lərlə dolduraraq tam bir eni təyin edərək sağa düzəltməklə təyin edə bilərik. Aşağıdakı nümunə bütün bu formatlaşdırma növlərini göstərir.
public class Democlass { public static void main(String[] args) { System.out.println(String.format("%d", 100)); //Integer System.out.println(String.format("[%5d]", 100)); //Right aligning-Prefixing 2 spaces to get length of integer as 5 System.out.println(String.format("[%-5d]", 100)); //Left aligning integer of length 5 by suffixing 2 spaces System.out.println(String.format("[% d]", 100)); //space before an integer System.out.println(String.format("[%05d]", 100)); //Prefixing 2 0s to get length of integer as 5 } }
Output: 100 [ 100] [100 ] [ 100] [00100]
Format sətri
String format () metodundan istifadə edərək sola / sağa uyğunlaşmaya əsaslanan sətri formatlaya bilərik. Aşağıdakı nümunə düzəldici simləri təsvir edir
public class Democlass { public static void main(String[] args) { System.out.println(String.format("%s", "Java")); //String System.out.println(String.format("[%10s]", "Java")); //Right aligning - Prefixing 6 spaces to get string length as 10 System.out.println(String.format("[%-10s]", "Java"));//Left aligning string of length 10 by suffixing 6 spaces System.out.println(String.format("[%.4s]", "Java language"));//Retrieve string based on maximum number of characters specified } }
Output: Java [ Java] [Java ] [Java]
Yerli xüsusi Formatlaşdırma
Java String format metodundan istifadə edərək müəyyən bir lokal əsas götürülmüş bir tam dəyər formatlaya bilərik. Yerli bazaya əsasən format () metodu ədədi dəyəri formatlaşdırır.
import java.util.Locale; public class Democlass { public static void main(String[] args) { System.out.println(String.format(Locale.US,"%,d", 1000000)); System.out.println(String.format(Locale.FRENCH, "%,d",1000000)); System.out.println(String.format(Locale.GERMAN, "%,d",1000000)); } }
1,000,000 1?000?000 1.000.000
nəticə
Bu təlimat nümunələr ilə birlikdə String sinifində mövcud olan bütün formatlama metodlarını ətraflı şəkildə təqdim edir.