Merhabalar Dart eğitimlerimize tür dönüşümleri ile devam ediyoruz.
Tipler arası dönüşümlere programlama yaparken sıklıkla ihtiyaç duyabiliriz.
toString() Metodu
toString() metodu ile herhangi bir değişken tipi stringe dönüştürülebilir.
İki sayısal ifade tanımlayıp bunları string bir değişkene toplama olarak atamak istersek hata alırız. Böyle bir durumda sonucu string tipine dönüştürmemiz gerekir. Bu durumlar artırılabilir.
void main(){
int a = 5;
int b = 6;
String result;
result = a + b;
}
Bu işlemi böyle uygularsak aşağıdaki hatayı alırız.
Yapmamız gereken ya sonucu bir değişkene atayıp o değişkeni string tipine dönüştüreceğiz. Ya da işlem sırasında işlemin sonucunu string’e dönüştüreceğiz.
void main(){
int a = 5;
int b = 6;
int c;
String result;
c = a + b;
result = c.toString();
result = (a + b).toString();
print(result);
}
Eğer toplam anında iki değeri ayrı ayrı string’e dönüştürseydik bu sefer iki stringi birleştirme işlemi yapacaktı.
result = a.toString() + b.toString();
print(result);
Parse Dönüşümleri
Bir değer eğer string ise parse ile istenilen diğer türlere dönüştürülebilir.
Ancak burada dikkat edilmesi gereken string verinin dönüştürülecek veri tipine uygun bir değere sahip olmasıdır.
Örneğin string olarak 123 diye bir değer int.Parse() metodu ile int tipine dönüştürülebilir.
Ancak değer 123abc şeklinde olsaydı bu ifade hiçbir sayısal veri tipine dönüştürülemezdi. Dönüştürmeye çalışsanız da hata alırsınız.
String number = "1234";
int d = int.parse(number);
int e = 6;
int f = d + e;
print(f);
Değeri değiştirip hatayı görelim.
String number = "1234e";
int d = int.parse(number);
int e = 6;
int f = d + e;
print(f);
Aynı şekilde double.parse() dönüşümü de kullanılabilir.
ToInt() Dönüşümü
Bu dönüşüm ile bir değer int tipine dönüştürülebilir.
Örneğin double bir değişken int tipine dönüştürülürse sayının tam sayı kısmı alınır ve int değişkene atanır.
double g = 12.4;
int h = g.toInt();
print(h);
Aynı şekilde int bir değer toDouble() metodu ile double tipine dönüştürülebilir.
Double tipinden değeri stringe dönüştürürken alınacak basamak sayısını belirlemek istersen toStringAsFixed(ondalık kısmının basamak sayısı); metodu kullanılır.
double l = 23.4564655;
String o = l.toStringAsFixed(3);
print(o);
Son olarak Interpolation yani $ işareti ile her değeri string tipine dönüştürebiliriz. Ancak bunu sadece print fonksiyonu içinde “” ya da ‘ ‘ içinde yapabiliriz.
Dönüştürülecek değişkenin ya da işlem bütününün önüne koyulur. Bir işlem yapılacaksa bu {} parantezler içinde yapılır.
int ab = 4;
double cd = 5.6;
print("${ab.toDouble() + cd}");
Bu yazım da bu kadardı.
Bir sonraki yazımda görüşmek üzere.