PDA

View Full Version : سوال: نمایش اعداد اعشاری



mtsoft
چهارشنبه 08 آذر 1391, 06:48 صبح
سلام خدمت همه اساتید محترم

من یه عدد دارم که به صورت اعشاریه مثلا 2.458879 و هر دفعه که این عدد تولید میشه ممکنه تعداد ارقام بعد اعشار متفاوت باشه چه جوری میتونم فقط یک رقم بعد اعشار رو نمایش بدم مثلا 2.4

ممنون میشم اگه من رو راهنمایی بفرمایید.

veniz2008
چهارشنبه 08 آذر 1391, 11:19 صبح
سلام. دو راه دارید:
1. عدد رو بصورت double بنویسید و از کلاس math و متد round بصورت زیر استفاده کنید :

double d = 1110.45451;
this.Text = Math.Round(d, 1).ToString();
توجه : کد بالا رقم بعد از اعشار رو گرد میکنه مثلا در همین مثال خروجی 1110.5 میشه. ولی اگر میخواید بصورت دقیق محاسبه کنید از روش زیر استفاده کنید :
ابتدا عددتون رو به رشته تبدیل کنید. با متد Indexof محل اعشار ( مثلا نقطه ) رو پیدا کنید. ارقام قبلش ( قسمت صحیح عدد) رو جدا و از قسمت بعد از اعشار یک رقم رو جدا کنید. کدی که نیاز دارید به اینصورته :

string a = "247.34754";
MessageBox.Show(a.Substring(0,a.IndexOf('.')) + "." + a.Substring(a.IndexOf('.') + 1 , 1));
موفق باشید.

plus
چهارشنبه 08 آذر 1391, 12:54 عصر
سلام خدمت همه اساتید محترم

من یه عدد دارم که به صورت اعشاریه مثلا 2.458879 و هر دفعه که این عدد تولید میشه ممکنه تعداد ارقام بعد اعشار متفاوت باشه چه جوری میتونم فقط یک رقم بعد اعشار رو نمایش بدم مثلا 2.4

ممنون میشم اگه من رو راهنمایی بفرمایید.


double number = 2.41241;
string formattedNumber = String.Format("{0:#.0}", number);