PDA

View Full Version : مبتدی: جمع مبلغ (بر اساس واحد پول) در سی شارپ



cmsdqq2
جمعه 22 بهمن 1395, 11:11 صبح
با سلام و احترام

بنده از طریق کد زیر، مقادیر عددی موجود در تکست باکس را به صورت سه رقم سه رقم با کاما از هم جدا نموده ام و در دیتابیس ذخیره و در دیتا گرید ویو نمایش داده ام؛ اما مسئله این است که قطعاً به هنگام جمع این مقادیر و ثبت آن ها با مشکل مواجه خواهیم شد.






if (textBox1.Text == "" || textBox1.Text == "0") return;
decimal price;
price = decimal.Parse(textBox1.Text, System.Globalization.NumberStyles.Currency);
textBox1.Text = price.ToString("#,#");
textBox1.SelectionStart = textBox1.Text.Length;*







به عنوان مثال دو مبلغ 1,000 و 2,000 را به صورت جداگانه ثبت کرده ایم حال تصمیم به جمع مقادیر ستون هزینه داریم. یعنی: 2,000 + 1,000 که اینگونه پیام خطا به جای انجام عملیات جمع نمایش داده خواهد شد. به نظر شما چه باید کرد؟

hamid_hr
جمعه 22 بهمن 1395, 12:07 عصر
بنظر من نباید با ویرگول ها ذخیره کنین. اینها رو به صورت عددی از نوع int ذخیره کنین.
ولی باز میتونی با دستور replace مقادیر ویرگول رو حذف کنین و با هم جمع کنین
replace(price,",","") + replace(Price2,",","")

cmsdqq2
جمعه 22 بهمن 1395, 15:37 عصر
بنظر من نباید با ویرگول ها ذخیره کنین. اینها رو به صورت عددی از نوع int ذخیره کنین.
ولی باز میتونی با دستور replace مقادیر ویرگول رو حذف کنین و با هم جمع کنین
replace(price,",","") + replace(Price2,",","")


اگر به صورت int ذخیره شوند، در این حالت چگونه می توان به صورت سه رقم سه رقم به کاربر مقادیر را نمایش داد؟

hamid_hr
شنبه 23 بهمن 1395, 12:20 عصر
خب تبدیل کن بعد بریز توی تکست باکس

javadghorbani27
شنبه 23 بهمن 1395, 22:17 عصر
خوب باید دو تا متد تعریف کنی یکی برای نمایش عدد که به صورت سه رقم جدا کند و یک متد باید تعریف کنی که به حالت عددی برگردانده شود