PDA

View Full Version : مشکل در داده های اعشاری



Delphi7_love
سه شنبه 18 فروردین 1394, 10:24 صبح
با سلام خدمت دوستان
ما یه نرم افزار حسابداری داریم که ممکنه بعضی از مشتریان اعشار داشته باشند و بعضی نداشته باشند
اگر فیلدهای ما اعشاری باشند در زمان جمع زدن فیلد حتی اگر مقدار صحیح وارد شده باشد بازم مثلا 3 رقم اعشار در جمع میاد (مثلا زمانی که جمع یک ستون رو در پایین گرید نشون میدیم)
یا حتی خود فیلدها مثلا اگر مقدارش 1999 باشه به صورت 1999.000 نشون میده
حتی مشتریانی هم که از اعشار استفاده میکنند نباید مقدارهایی که اعشار ندارند به صورت 3 رقم اعشار نشون داده بشه
برای رفع این مشکل باید چکار کنم

am_al_59
سه شنبه 18 فروردین 1394, 10:35 صبح
راه اول

ToString("G0")

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

Delphi7_love
سه شنبه 18 فروردین 1394, 10:53 صبح
لطف میکنید یه مثال یزنید
در ضمن من میخوام داخل گرید مقدار رو نشون بدم و خودش به صورت اتومات پر میشه
باید داخل کد اسکیوال یه کاری بکنم
تا وقتی اطلاعات خواست در گرید نشون بده ، درست بیاد

am_al_59
سه شنبه 18 فروردین 1394, 10:55 صبح
راه اول

private void Form1_Load(object sender, EventArgs e)
{
decimal d = 20.000000000000000000000m;
MessageBox.Show( d.ToString("G0"));
}


راه دوم


public decimal removeZero(decimal value)
{
return value / 1.000000000000000000000000000000m;
}


private void Form1_Load(object sender, EventArgs e)
{
decimal d = 20.000000000000000000000m;
MessageBox.Show(removeZero(d).ToString());
}


گرید:


dataGridView1.Columns["ستون مربوطه"].DefaultCellStyle.Format = "G0";

Delphi7_love
سه شنبه 18 فروردین 1394, 11:43 صبح
از پاسختون ممنون
هنوز تست نکردم
فقط اون m آخرش یعنی چی؟

am_al_59
سه شنبه 18 فروردین 1394, 11:46 صبح
m در زمان کامپایل کاربرد داره که کامپایلرت خطا نده
مفهومش اینه که عددی که شما نوشتی بصورت decimal پردازش بشه