8 Ağustos 2018 Çarşamba

Unity float değerini belirli bir ondalık sayıya yuvarlama


Unityde 3,14159265 gibi bir sayıyı 3,1415 şeklinde kesmek isterseniz bunu yaparken bir sorunla karşılaşabilirsiniz. Çünkü unityde Mathf.Round fonksiyonu bunu yapmıyor. Peki bunun yerine ne yapabiliriz?

En kolay şekilde Mathf struct'u yerine C# standart kütüphanesinde bulunan Math.Round fonksiyonunu kullanabiliriz.
Bu fonksiyona şöyle erişebilirsiniz:
System.Math.Round() 
Örnek Kullanım:
System.Math.Round(3.14159265 , 3);     Sonuç: 3.141
(Siz burada direkt sayı yerine, sayı atanmış değişken kullanırsınız. Kısa olsun diye böyle gösterdim)

Bir diğer yöntem
YuvarlamakIstediginizDegısken.ToString("F2");     2 ondalık basamak kalacak şekilde yuvarlar ve sayınızı string'e dönüştürür. Tekrar float'a dönüştürmek isterseniz başka bir değişkene float olacak şekilde atayabilirsiniz şu şekilde:
FloatAtanacakDeg = float.Parse(YuvarlamakIstediginizDegısken);

En doğru yöntem birinci yöntemdir ama ikinci yöntemi zaten string olarak almak istediğiniz bir değişkende kullanımı pratik olur.