قرار دادن اعشار قیمت برای textbox
سلام بچه ها
من یه برنامه حسابداری نوشتم ! در قسمت قیمت میخام وقتی قیمت وارد میکنه سه رقم سه رقم جداش کنه.(مثلا به جای 3000 بشه 3.000 )
یعنی به وسیله اعشاری یا چیزی جدا بشن.
با کد زیر اینکار انجام دادم :
if (textBox7.Text == "" || textBox7.Text == "0") return;
decimal price;
price = decimal.Parse(textBox7.Text, System.Globalization.NumberStyles.Currency);
textBox7.Text = price.ToString("#,#");
textBox7.SelectionStart = textBox7.Text.Length;
ثبت دیتابیس هم میشه ! ولی چندتا مشکل دارم !
یکی اینکه تو فرم دیگه برنامم میخام مقدار ها رو جمع کنم! کد های جمع هم اینه :
int sum = new int();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
sum += Convert.ToInt32(row.Cells[4].Value);
}
textBox4.Text = sum.ToString();
اگه قیمت ها بدون اعشار باشن جمع میکنه ولی وقتی با اعشاری یا نقطه ای قیمت ها رو جدا میکنم نمیتونه جمعشون کنه ! انگار نمیتونه بخونتش جمعش کنه !
و دوم اینکه تو گزارش گیری هم قیمت با اعشار نمیاره !
این دوتا مشکل دارم ! بهم گفتن باید جوری کد بنویسی که فقط از دید کاربر تو تکست باکس اعشار بخوره و وقتی ثبت دیتابیس میشه بدون اعشار باشه!
لطفا راهنمایی کنید چیکار کنم چه کدی بنویسم ؟
تشکر
نقل قول: قرار دادن اعشار قیمت برای تکست باکس
سلام
موقع خوندن سلول های دیتاگرید باید کاما های درج شده در متن را حذف کنی بعد تبدیل به عدد شود.
sum += Convert.ToInt32(row.Cells[4].Value.ToString().Replace(",",""));
نقل قول: قرار دادن اعشار قیمت برای تکست باکس
نقل قول:
نوشته شده توسط
ژیار رحیمی
سلام
موقع خوندن سلول های دیتاگرید باید کاما های درج شده در متن را حذف کنی بعد تبدیل به عدد شود.
sum += Convert.ToInt32(row.Cells[4].Value.ToString().Replace(",",""));
این پیغام میده :
Object reference not set to an instance of an object.
لطفا بگید چیکار کنم ؟
نقل قول: قرار دادن اعشار قیمت برای تکست باکس
نقل قول:
نوشته شده توسط
pure_love
این پیغام میده :
Object reference not set to an instance of an object.
لطفا بگید چیکار کنم ؟
بجای 4 نام فیلدتون رو داخل دابل کوتیشن بنویسید. "Price"
نقل قول: قرار دادن اعشار قیمت برای تکست باکس
حلقه foreach بصورت for بنویس .بعد مطمئنی ستون پنجم در دیتاگرید همان ستون اعداد هست؟
for (var r=0;r< dataGridView1.Rows.Count;r++)
{
sum += Convert.ToInt32(dataGridView1.Rows[r].Cells[4].Value);
}