Kasr sonlar deb butun va kasr qismiga ega bo'lgan sonlarga aytiladi.C# dasturlash tilida kasr sonlarni saqlovchi 3 ta data tip mavjud.Ular:float,double,decimal
Float
Xotiradan 4 bayt joy egallaydi va nuqtadan keyin 6 ta son aniqlikda ishlaydi.Kasr sonlarni float tipiga o'tkazishimiz uchun sonni ortidan f
harfini qo'shish kifoya.
float son = 134.4566414f;
Float ning .NET dagi tipi System.Single
deb ataladi.
Double
Xotiradan 8 bayt joy egallaydi va nuqtadan keyin 15-17 ta son aniqlikda ishlaydi.Literallar doim double holatida turadi va uning ortidan hech qanaqa harf qo'shish shart emas.Uning .NET dagi klasi
System.Double
Decimal
Xotiradan 16 bayt joy egallaydi va nuqtadan keyin 28-29 ta son aniqlikda chop etadi.Kasr sonlarni decimal tipiga o'tkazish uchun uning ortidan M
sonini qo'shishimiz kifoya.M soni Money so'zidan olingan.
decimal myMoney = 3000.544558m
Decimalning klasi esa System.Decimal
deb yuritiladi.Decimal odamlar tomonidan ixtiro qilingan va o'ta aniqlik talab etiladigan birliklar uchun ishlatiladi.Masalan:Binance ya'ni pul uchun ishlatiladi.
Garchi double
float
ga qaraganda nuqtadan keyin ko'proq sonlarni o'z ichiga olsa ham ,float
nuqtadan keyingi 6 ta sonni double
ga qaragandan aniqroq chop etadi.Masalan:
float son = .3f + .3f + .3f + .1f;
double son2 = (.3 + .3 + .3 + .1);
Console.WriteLine($"{son:f16}"); //output: 1.0000000000000000
Console.WriteLine($"{son2:f16}"); //output:0.9999999999999998
Decimal
ikkalasidan ham aniqroq ishlaydi.Ammo u 16 bayt joy egallaydi bu odatiy dastur uchun juda katta joy.
Parse va TryParse metodi kasr sonlar uchun ham ishlaydi
Console.Write("Kasr son kiriting:");
var kasrSon=Console.ReadLine();
var parsedSon=float.Parse(kasrSon);
Console.WriteLine(parsedSon);
Top comments (0)