avatar
رضا نظری

کاربر

  • 1402/01/16
  • 0
  • 62
1402/01/16 |
backend

فاصله انداختن بین اعداد

دوتا textbox دارم که براشون داخل ایونت textchecked کد نوشتم که اعداد وارد شده توسط کاربر رو سه رقم سه رقم از هم جدا کنه حالا میخوام با زدن روی یک pictureBox روی اونا اعمال ریاضی مثل منها رو انجام بدم نمیتونم میشه لطفا راهنماییم کنید که چطور کاما رو حذف کنم؟ کدی هم که داخل بخش textchecked نوشتم اینه
 

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;                                  
}


برای حذف کاما از اعداد، بهتر است از تابع Replace در C# استفاده کنید. شما می‌توانید این تابع را به شکل زیر در pictureBox1_Click قرار دهید تا کاماها از اعداد حذف شوند:

private void pictureBox1_Click(object sender, EventArgs e)
{
    textBox1.Text = textBox1.Text.Replace(",", ""); // حذف کاماها از اعداد
    decimal number = decimal.Parse(textBox1.Text); // تبدیل رشته به عدد
    decimal result = number * 2; // اعمال ریاضی روی عدد
    textBox1.Text = result.ToString("#,#"); // قرار دادن کاماها بعد از اعداد
    textBox1.SelectionStart = textBox1.Text.Length;
}

در این کد، ابتدا تمام کاماهای موجود در textBox1.Text با استفاده از تابع Replace حذف می‌شوند. سپس مقدار وارد شده توسط کاربر با استفاده از تابع decimal.Parse به عدد تبدیل می‌شود. در مرحله بعد، ریاضی (در این مثال ضرب در ۲) بر روی این عدد انجام می‌شود و نتیجه به result اختصاص داده می‌شود. سپس با استفاده از result.ToString("#,#")، کاماهای جدید بعد از هر سه رقم درج می‌شوند و مقدار نهایی در textBox1.Text قرار داده می‌شود. در انتها با استفاده از textBox1.SelectionStart = textBox1.Text.Length، کرسر به انتهای textBox1 حرکت می‌کند.



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری