Darsliklar Dart Turlardagi o'zgartirish (konvertatsiya)

Dart Dart Turlardagi o'zgartirish (konvertatsiya)

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.parse kabi 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.