آموزش افزودن جداکننده عدد هزار برای تکست‌باکس در سی‌شارپ

دوشنبه 22 دی 1399

یکی از مباحث مهمی که در پروژه‌های نرم‌افزار‌های تجاری به آن توجه می‌شود، مبحث قیمت است. قیمت پارامتری است که ممکن است ما در پروژه‌هایمان از کاربر درخواست کنیم. با توجه به اینکه در کشور ما اکثر قیمت‌ها مبالغی هستند که از قیمت 1000 تومان بیشترند، ما نیازمند یک جداکننده هزار هستیم. در نرم‌افزار نیز ما به چنین چیزی نیاز داریم تا احتمال خطای ما و کاربر کمتر شود.

یکی از مباحث مهمی که در پروژه‌های نرم‌افزار‌های تجاری به آن توجه می‌شود، مبحث قیمت است. قیمت پارامتری است که ممکن است ما در پروژه‌هایمان از کاربر درخواست کنیم. با توجه به اینکه در کشور ما اکثر قیمت‌ها مبالغی هستند که از قیمت 1000 تومان بیشترند، ما نیازمند یک جداکننده هزار هستیم. در نرم‌افزار نیز ما به چنین چیزی نیاز داریم تا احتمال خطای ما و کاربر کمتر شود. در این آموزش به شما یاد خواهم داد چگونه برای تکست‌باکس ها و یا دیگر ابزارها همچون لیبل‌ها و متون، جداکننده هزار قرار دهید تا سه رقم سه رقم جدا شوند.

افزودن جداکننده هزار برای تکست‌باکس

برای افزودن جداکننده به تکست‌باکس کافیست کد زیر را در رویداد تغییر متن (TextChanged) تکست‌باکس قرار دهید تا در حین تایپ در تکست‌باکس، جداکننده هزار نیز قرار داده شود.

private void textBox1_TextChanged(object sender, EventArgs e)
{
    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;                                  
}

بجای textBox1 نام تکست‌باکس خود را قرار دهید.

برخی مواقع لازم است ما از عدد درون تکست‌باکس بعنوان یکی از پارامتر‌های عددی جدول در بانک‌اطلاعاتی استفاده کنیم، و از آنجا که افزودن جداکننده هزار عددمان را تبدیل به رشته می‌کند، لازم است از متد Replace استفاده شود.

برای مثال:

Class class=new Class();
class.digit=int.Parse(textBox1.Text.Replace(",",""));

در مثال بالا، کلاس فرضی ما، یک پراپرتی به نام digit (عدد) دارد که مقدار این پراپرتی بر اساس عدد درون textBox1 (تکست‌باکس شماره 1) قرار دارد. در نتیجه برای خارج کردن متن تکست‌باکس از حالت رشته‌ای به عددی کافیست از متد Replace استفاده کنیم.

امیدوارم این مطلب برایتان مفید بوده باشد.

علی‌رضا محمودی زاده

نویسنده 1 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 4 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید

نظرات کاربران

برای درج نظر باید وارد سایت شوید