Zaman gibi değişkenleri UI ile ekranda göstermek isteyebiliriz. Ama zaman vs. değişkenler float türüdür ve float noktadan sonra 5 basamağı tuttuğundan ekrana 5 basamak da gelir. Bu yüzden şöyle bir sonuçla karşılaşabiliriz.
Bu durumda noktadan sonraki basamağı azaltmak veya kaldırmak iyi bir çözümdür. Bunu yapmak için:
Float'ı int'e çevirmek için aşağıdaki şekilde kod kullanılır.
float sayi = 23.43255f;
Debug.Log ((int) sayi);
//Konsola 23 yazar.
Bu fonksiyon float'ın bir metod'u dur. Yani degisken.fonksiyon(); olarak kullanılır. Bu fonksiyon float'ı string'e çevirir ve bir string değer alır.
float sayi = 23.43255f;
Debug.Log (sayi.ToString ("F2"));
//Konsola 23.43 yazar.
Bu yazdığım fonksiyon float'ın noktadan sonraki iki basamağını alır. Ve son basamağı yazarken rakamı yuvarlama yapar. Örneğin 35.65437 float değerini 35.65 şeklinde bir string yapar. Mesela noktadan sonra 3 basamağını istiyorsanız parametre kısmına "F3" yazarsınız. 4 Basamak için "F4", 5 basamak için "F5" şeklinde.
Kesinlikle zor değil. Tek yapacağımız bir operatörden faydalanmak. % operatörü bildiğiniz gibi sayıyı sayıya bölüp kalanı gösterir.
Mesela noktadan sonrasını görmek istemiyorsak float'ı 1'e bölerek kalanı alırız ve sayıdan çıkarırız. Böylece tam sayı kısmı kalır.
Tabiki işlem önceliği için bir de parantez () kullanırız.
Ör/ float virgulsuz = sayi - (sayi % 1); Veya noktadan sonra bir basamak istiyorsak:
float sayi = 23.43255f;
Debug.Log ( sayi - (sayi % 0.1f) );
//Konsola 23.4 yazar.
Virgülden sonra iki basamak görmek için sayi - (sayi % 0.01f); kullanılır. İsterseniz bu kodları fonksiyona da çevirebilirsiniz.