PDA

View Full Version : سوال: مشکل در نمایش مقدار صفر در محاسبه مانده هزینه



davidrobert
شنبه 13 دی 1393, 17:45 عصر
سلام و خسته نباشید.
من سورس عمل محاسبه مانده هزینه پرداختی رو نوشتم و درست انجام میدهد ولی ایرادی که دارد این هست که مقدار صفر رو نشان نمیدهد. یعنی برنامه هزینه کل منفی هزینه پرداختی میکنه هزینه مانده رو نمایش میدهد. وقتی هزینه کل منفی هزینه پرداختی میشه محاسبه درست انجام میشه ولی وقتی مقدار هزینه رو کامل پرداخت بشه باید برنامه مقدار مانده رو صفر نشان بده مقدار مانده هزینه رو خالی نشان میدهد بخاطر همین در موقع ذخیره اطلاعات با مشکل بر خورد کردم. نوع فیلد هزینه رو decimal قرار دادم که موقع ذخیره وقتی مقدار مانده رو خالی نشان میده برنامه اطلاعاتی رو ذخیره نمیکنه و خطا میده چیکار کنم وقتی هزینه کامل پرداخت شد مقدار کادر متن مانده صفر نشان دهد نه مقدار خالی این هم سورس بنده. سلام و خسته نباشید.
من سورس عمل محاسبه مانده هزینه پرداختی رو نوشتم و درست انجام میدهد ولی ایرادی که دارد این هست که مقدار صفر رو نشان نمیدهد. یعنی برنامه هزینه کل منفی هزینه پرداختی میکنه هزینه مانده رو نمایش میدهد. وقتی هزینه کل منفی هزینه پرداختی میشه محاسبه درست انجام میشه ولی وقتی مقدار هزینه رو کامل پرداخت بشه باید برنامه مقدار مانده رو صفر نشان بده مقدار مانده هزینه رو خالی نشان میدهد بخاطر همین در موقع ذخیره اطلاعات با مشکل بر خورد کردم. نوع فیلد هزینه رو decimal قرار دادم که موقع ذخیره وقتی مقدار مانده رو خالی نشان میده برنامه اطلاعاتی رو ذخیره نمیکنه و خطا میده چیکار کنم وقتی هزینه کامل پرداخت شد مقدار کادر متن مانده صفر نشان دهد نه مقدار خالی این هم سورس بنده.
روش محاسبه مقدار
private TextBoxX[] tbs;
public Frm_Add_Foctor_Khered_Kala()
{
InitializeComponent();
Program.MakebuttonStyle(this.BtnClose);
Program.MakebuttonStyle(this.BtnMin);
tbs = new TextBoxX[] { TxtMableghGabelPerdakht, TxtMablaghPerdakhte, TxtMondeCopay };
foreach (TextBoxX tb in tbs)

tb.TextChanged += new EventHandler(tbs_TextChanged);
}
private void tbs_TextChanged(object sender, EventArgs e)
{
decimal N1 = default(decimal);
decimal N2 = default(decimal);
try
{
N1 = Convert.ToDecimal(TxtMableghGabelPerdakht.Text.ToS tring());
}
catch
{
N1 = 0;
}
try
{
N2 = Convert.ToDecimal(TxtMablaghPerdakhte.Text.ToStrin g());
}
catch
{
N2 = 0;
}
try
{
TxtMondeCopay.Text = Convert.ToDecimal(N1 - N2).ToString();
}
catch
{
TxtMondeCopay.Text = "0";
}

}

davidrobert
دوشنبه 15 دی 1393, 14:38 عصر
کسی نیست کمک کنه.

malizergani
دوشنبه 15 دی 1393, 22:22 عصر
سلام دوست عزیز

تست کردم ، صفر رو نمایش میده

25-25=0

مشکلی نداره.