Turlarni o’zgartirish (konvertatsiya) — bir turdagi qiymatni boshqa turga aylantirish. Foydalanuvchidan olingan matnni songa, sonni matnga aylantirish — bu kundalik vazifa. Dart bu uchun sodda va aniq metodlar beradi. To’g’ri konvertatsiya xatolarning oldini oladi.
Konvertatsiya (type conversion) — qiymatni bir turdan boshqasiga aylantirish. Dart’da bu asosan
int.parse,toString,double.parsekabi metodlar orqali bajariladi.
Matnni songa
Foydalanuvchi kiritgan ma’lumot ko’pincha matn bo’ladi. Uni songa aylantirish uchun int.parse yoki double.parse ishlatiladi:
void main() {
String matn = "100";
int son = int.parse(matn);
print(son + 50);
String kasrMatn = "3.14";
double kasr = double.parse(kasrMatn);
print(kasr * 2);
}
150
6.28
int.parse("100") matnni butun songa aylantirdi, double.parse("3.14") esa kasr songa. Endi ular bilan hisob-kitob qilish mumkin.
Sonni matnga
Sonni matnga aylantirish uchun toString ishlatiladi:
void main() {
int yosh = 26;
String matn = yosh.toString();
print("Yosh: " + matn);
print(matn.length); // endi bu matn
}
Yosh: 26
2
yosh.toString() sonni matnga aylantirdi. Endi u satr metodlariga (length) ega. Bu, masalan, sonni matn bilan birlashtirishda foydali.
Konvertatsiya metodlari
Asosiy konvertatsiya metodlarini jadvalda ko’ramiz:
| Metod | Nimadan nimaga |
|---|---|
int.parse() |
matn → butun son |
double.parse() |
matn → kasr son |
toString() |
son → matn |
toInt() |
kasr → butun (kasr tashlanadi) |
toDouble() |
butun → kasr |
Xavfsiz konvertatsiya — tryParse
int.parse noto’g’ri matnda xato beradi. int.tryParse esa xato o’rniga null qaytaradi — bu xavfsizroq:
void main() {
int? a = int.tryParse("42");
int? b = int.tryParse("salom");
print(a);
print(b);
print(b ?? 0); // null bo'lsa 0
}
42
null
0
int.tryParse("salom") songa aylantirib bo’lmagani uchun null qaytardi (xato bermay). ?? 0 bilan null holatda standart qiymat berdik. Bu foydalanuvchi ma’lumotini xavfsiz qayta ishlashning to’g’ri usuli.
Xulosa
Bu bo’limda turlarni o’zgartirishni — int.parse, double.parse, toString — va xavfsiz tryParse ni ko’rib chiqdik. Diqqat: tashqi ma’lumot uchun tryParse afzal. Keyingi darsda fayllar bilan ishlashga o’tamiz.