PDA

View Full Version : سوال: تغییر محدودی اعشاری متغییر float در سی شارپ



malaki.davud
جمعه 28 مهر 1391, 14:34 عصر
با سلام

در سی شارپ متغیر float در قسمت اعشاری تا 4 رقم نشون میده

من می خوام تا یک رقم اعشار نشون بده

با تشکر

nunegandom
جمعه 28 مهر 1391, 17:50 عصر
سلام

private float FloatCollector(float myfloat,int HowManyNumberAfterDot = 1)
{
string collector = string.Empty;
bool Dot = false;
int counter = 0;
string st = myfloat.ToString();

foreach (var Character in st)
{
collector += Character.ToString();
if (Character == '.')
{ Dot = true; }

if (counter == HowManyNumberAfterDot)
break;
if (Dot == true)
{ counter++; }

}
return float.Parse(collector);
}

Mahmoud.Afrad
جمعه 28 مهر 1391, 18:26 عصر
راحت تر از این حرفاست. با string format به این صورت:
int countOfDecimalPoint = 1; // تعداد اعشار مورد نیاز
float f1 = 21.212121f;
float f2 = float.Parse(f1.ToString("F" + countOfDecimalPoint)); // f2 = 21.2

afshin_1989
جمعه 28 مهر 1391, 19:16 عصر
double d = ٠٫٢٣٤;
Console.WriteLine("{٠:#.٠٠}", d);
خروجي . 23 را نشان م يدهد. اگر كاراكتري در آن محل نباشد، سمبل # صرف نظر مي شود و صفر ها با كاراكترهاي موجود در
آن موقعيت جايگزين مي شوند و اگر كاراكتري نباشد، صفر چاپ م يشود.