Interest is $16.404674
Foiz miqdori valyuta bo'lganligi sababli, kasrdan keyin faqat ikkita raqamni ko'rsatish maqsadga muvofiqdir. Buning uchun siz quyidagi kodni yozishingiz mumkin:
double amount = 12618.98;
double interestRate = 0.0013;
double interest = amount * interestRate;
System.out.println("Interest is $" + (int)(interest * 100) / 100.0);
Interest is $16.40
Biroq, format hali ham noto'g'ri. Kasrdan keyin ikkita raqam bo'lishi kerak: 16,4 emas, 16,40. Buni printf usuli bilan shunday tuzatishingiz mumkin:
double amount = 12618.98;
double interestRate = 0.0013;
double interest = amount * interestRate;
System.out.printf("Interest is $%4.2f", interest);
Interest is $16.40
Ushbu usulni chaqirish sintaksisi:
System.out.printf(format, element1, element2, ..., elementk)
bu erda format - bu qator bo'lib, u pastki satrlar va format spetsifikatsiyalaridan iborat bo'lishi mumkin. Format spetsifikatsiyasi element qanday ko'rsatilishi kerakligini belgilaydi. Element raqamli qiymat, belgi, mantiqiy qiymat yoki satr bo'lishi mumkin. Oddiy format spetsifikatsiyasi foiz belgisidan (%) va undan keyin konversiya kodidan iborat. 14.1-jadvalda ba'zi tez-tez ishlatiladigan oddiy formatlar keltirilgan.
format spetsifikatsiyasi
|
chiqish
|
Misol
|
%b
|
mantiqiy
|
true or false
|
%c
|
xarakter
|
‘a’
|
%d
|
kasrli butun son
|
200
|
%f
|
suzuvchi nuqta raqami
|
45.460000
|
%e
|
standart ilmiy yozuvdagi raqam
|
4.556000e+01
|
%s
|
chiziq
|
“Java is cool”
|
Masala:
Elementlar tartib, raqam va aniq tur bo'yicha format ko'rsatkichlariga mos kelishi kerak. Masalan, count uchun format spetsifikatsiyasi %d, sum uchun %f. Odatiy bo'lib, suzuvchi nuqta qiymati kasrdan keyin oltita raqam bilan ko'rsatiladi. 14.2-jadvaldagi misollarda ko'rsatilganidek, format spetsifikatsiyasida kenglik va aniqlikni belgilashingiz mumkin.
4.12-JADVAL Kenglik va aniqlik misollari
Misol
|
chiqish
|
% 5c
|
% 5c Belgini chop eting va belgi elementidan oldin to‘rtta bo‘sh joy qo‘shing, chunki kengligi 5 ga teng.
|
% 6b
|
Booleanni chiqaring va noto'g'ri qiymatdan oldin bitta bo'sh joy va ikkita bo'sh joy qo'shing. haqiqiy qiymatdan oldin.
|
% 5d
|
Kengligi kamida 5 bo'lgan butun son elementini chiqaring. Agar elementdagi raqamlar soni 6 5 bo'lsa, raqamdan oldin bo'sh joylar qo'shing. Agar elementdagi raqamlar soni 7 5 bo'lsa, kenglik avtomatik ravishda oshiriladi.
|
% 10.2f
|
Kengligi kamida 10 boʻlgan suzuvchi nuqta elementini, jumladan, kasr va nuqtadan keyin ikkita raqamni chiqaring. Shunday qilib, kasrdan oldin 7 ta raqam ajratiladi. nuqta. Agar 6-elementdagi kasrdan oldingi raqamlar soni 7 bo'lsa, bo'sh joylar qo'shing. raqam oldida. Agar elementdagi kasrdan oldingi raqamlar soni 7 7 bo'lsa, kenglik avtomatik ravishda oshiriladi.
|
% 10.2e
|
Kamida 10 kenglikdagi suzuvchi nuqta elementini, jumladan, kasr nuqtasi, nuqtadan keyingi ikki raqam va ko'rsatkichni chiqaring. Agar ilmiy belgilarda ko'rsatilgan raqam 10 dan kam bo'lsa, raqam oldiga bo'sh joy qo'shing.
|
% 12s
|
Kengligi kamida 12 ta belgidan iborat boʻlgan qatorni chiqaring. Agar satr elementida 12 tadan kam belgi bo'lsa, satr oldidan bo'sh joylar qo'shing. Satr elementida 12 dan ortiq belgi bo'lsa, kenglik avtomatik ravishda oshiriladi.
|
Agar element belgilangan kenglikdan ko'proq bo'sh joy talab qilsa, kenglik avtomatik ravishda oshiriladi. Masalan, quyidagi kod
System.out.printf("%3d#%2s#%4.2f\n", 1234, "Java", 51.6653);
Do'stlaringiz bilan baham: |