View Full Version : جدا کردن قسمت صحیح یک عدد اعشاری
saed2006
سه شنبه 04 اسفند 1388, 13:27 عصر
میخوام قسمت صحیح یک عدد اعشاری رو جدا کنم
تابع floor یا round به دردم نخورد
چی کار کنم
simul8or
سه شنبه 04 اسفند 1388, 13:37 عصر
میخوام قسمت صحیح یک عدد اعشاری رو جدا کنمتخصص من در C# نیست ولی در حالت کلی با انتصاب عدد اعشاری به عدد int مقدار اعشار خود به خود حذف میشود(Casting):
float x=25.96;
int a=int(x);//a=25
کار دیگری که می توان انجام داد به این صورت است:
float x=47.963;
float y=x % 1;//x MOD 1 => y=0.963
که x-y جواب را می دهد.
saed2006
سه شنبه 04 اسفند 1388, 13:46 عصر
public int Floor(double num)
{
return Convert.ToInt32(Convert.ToString(num).Split(new char[] { '.' })[0]);
}
ostadi
سه شنبه 04 اسفند 1388, 16:41 عصر
string convert_var;
convert_var="";
string var1 = textbox1.Text;
string[] count = var1.Split('.');
for (int j = 0; j < count; j++)
{
convert_var += count[j];
}
Int64 txt2 = Convert.ToInt64(convert_var);
mehdi.mousavi
سه شنبه 04 اسفند 1388, 17:20 عصر
public int Floor(double num)
{
return Convert.ToInt32(Convert.ToString(num).Split(new char[] { '.' })[0]);
}
سلام.
نیازی به اینهمه Instruction نیست. برای تبدیل double به int کافیه عدد مورد نظر رو به int کست کنید:
double d = 3.5;
int n = (int)d;
اینطوری n برابر 3 میشه.
موفق باشید.
Warrior
سه شنبه 04 اسفند 1388, 19:34 عصر
اگر خواستیم قسمت اعشار را جدا کنیم(راهی به غیر از کم کردن عدد صحیح از عدد اصلی) باید چه کار کنیم؟
ممنونم
mehdi.mousavi
سه شنبه 04 اسفند 1388, 19:40 عصر
اگر خواستیم قسمت اعشار را جدا کنیم(راهی به غیر از کم کردن عدد صحیح از عدد اصلی) باید چه کار کنیم؟ ممنونم
چرا "غیر از کم کردن"؟ اینکه سریعترین و بهترین روش برای بدست آوردن قسمت اعشار هست.
Salar Ashgi
سه شنبه 04 اسفند 1388, 19:57 عصر
چراFloor به کارت نیومد ؟ لازم نیست این همه انرژی مصرف کنیم ، بصورت خیلی ساده :
double a = 3.25;
int x = (int)(Math.Floor(a));
mehdi.mousavi
چهارشنبه 05 اسفند 1388, 11:32 صبح
چراFloor به کارت نیومد ؟ لازم نیست این همه انرژی مصرف کنیم ، بصورت خیلی ساده :
double a = 3.25;
int x = (int)(Math.Floor(a));
سلام.
اینجا نیازی به استفاده از Floor نیست. جای کدی که نوشتید، بهتره همونطور که قبلا گفتم، a رو فقط به integer کست کنید و در x بریزید. (اینطوری انرژی کمتری هم صرف می کنید، اگر نگران انرژی هستید :چشمک:).
موفق باشید.
saed2006
چهارشنبه 05 اسفند 1388, 12:09 عصر
Floor عدد منفی رو گرد به پایین میکنه
بنابر این روی قسمت صحیح اعداد منفی هم تاثیر میزاره
-5.3 باید بشه -5
5.3 5
6.99 6
-6.99 -6
..
SMRAH1
چهارشنبه 05 اسفند 1388, 12:41 عصر
سلام
1) به جای Floor از Truncate استفاده کن.
2) روش جناب موسوی خیلی ساده تره!
موفق باشید
mrshcom
شنبه 08 اسفند 1388, 12:18 عصر
سلام
اينم كدي ساده براي بدست آوردن قسمت صحيح يك عدد اعشاري
decimal d = 123.234M;
decimal i = Math.Truncate(d)
aliramazani
پنج شنبه 06 تیر 1392, 23:19 عصر
برای جدا کردن اعشار از چی استفاده کنیم؟
mehdi.mousavi
سه شنبه 11 تیر 1392, 09:11 صبح
برای جدا کردن اعشار از چی استفاده کنیم؟
سلام.
کافیه عدد اصلی رو از قسمت صحیح عدد کم کنیم:
double d = 3.5;
double f = d - (int)d;
در مثال فوق f برابر 0.5 خواهد بود.
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.