🧠 ما هو التحويل بين الأنواع (Type Conversion)؟
هو عملية تغيير نوع البيانات من نوع إلى نوع آخر، مثل تحويل int إلى String أو double إلى int، وهكذا. في Dart، يوجد نوعان من التحويل:
- تحويل ضمني (Implicit Conversion) – يتم تلقائيًا من قبل المترجم (لكن Dart لا تدعمه كثيرًا).
- تحويل صريح (Explicit Conversion) – يتم يدويًا باستخدام الدوال أو الطرق المناسبة.
✳️ أمثلة على التحويل الصريح في Dart:
1. تحويل int
إلى String
int number = 42;
String text = number.toString();
print(text); // الناتج: "42"
Dart2. تحويل String
إلى int
String text = "123";
int number = int.parse(text);
print(number); // الناتج: 123
Dart✅ ملاحظة: إذا كانت السلسلة النصية لا تحتوي على رقم صحيح، سيظهر خطأ.
3. تحويل String
إلى double
String text = "3.14";
double value = double.parse(text);
print(value); // الناتج: 3.14
Dart4. تحويل double
إلى int
double value = 9.8;
int wholeNumber = value.toInt();
print(wholeNumber); // الناتج: 9
Dart5. تحويل int
إلى double
int x = 10;
double y = x.toDouble();
print(y); // الناتج: 10.0
Dart🔄 خلاصة التحويلات الشائعة:
التحويل | الطريقة المستخدمة |
---|---|
int → String | ()toString |
String → int | int.parse() أو int.tryParse() |
double → String | toString() |
String → double | double.parse() أو double.tryParse() |
int → double | toDouble() |
double → int | toInt() |
✅ 1. bool
→ String
هذا التحويل سهل ومباشر باستخدام toString()
:
bool isActive = true;
String result = isActive.toString();
print(result); // "true"
Dart✅ 2. bool
→ int
(يدويًا)
Dart ما تدعم تحويل bool
إلى int
تلقائيًا، لكن تقدر تسويها يدويًا:
bool flag = true;
int value = flag ? 1 : 0;
print(value); // 1
Dart