ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
سلام
بنده میخواهم دو عدد از نوع long و double را در هم ضرب و نتیجه را در یک تکست باکس بریزم. (مثلا 1*2.5)
در حالت پیش فرض مشکلی نیست (نتیجه 2.5)
اما وقتی در رویداد TextChanged کد زیر را برای اینکه ارقام 3 رقم 3 رقم جدا بشه نتیجه را رند میکند (نتیجه 3)
if (textBox15.Text != string.Empty)
{
textBox15.Text = string.Format("{0:n0}", double.Parse(textBox15.Text.Replace(",", "")));
textBox15.Select(textBox15.Text.Length, 0);
}
چه کار کنم تا از رند شدن جلوگیری بشه.
در واقع میخوام ضرب یک عدد صحیح در یک عدد اعشاری و نمایش نتیجه به صورت فرمت پولی درون تکست باکس اتفاق بیفته.
ممنون
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
سلام دوست عزیز ،
برای جدا سازی 3 رقم از این استاندارد استفاده کنین :
string.Format("{0:#,###0}
در واقع شما اگر به جای "{0:n0}"
از "{0:n1}"
استفاده کنین مشکلتون حل میشه.
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
نقل قول:
نوشته شده توسط
ShayanFiroozi
سلام دوست عزیز ، برای جدا سازی 3 رقم از این استاندارد استفاده کنین :
string.Format("{0:#,###0}
در واقع شما اگر به جای
"{0:n0}"
از
"{0:n1}"
استفاده کنین مشکلتون حل میشه.
ممنون بابت راهنمایی ولی در این حالت برای ارقام دو رقم و بیشتر یک .0 جلوی عدد نمایش میده
1 * 2.5 = 2.5
100 * 2.5 = 250.0
حالا برا حدف اون صفر چی کار باید کرد؟
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
این string format رو تست کنین :
{0:0.##}
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
این فرمت رو تست کنید
mydouble.ToString("##,###")
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
نقل قول:
نوشته شده توسط
ShayanFiroozi
این string format رو تست کنین :
{0:0.##}
اگه منطورتون اینکه جای
"{0:#,###0}"
از این کد استفاده کنیم... کد فوق اصلا 3رقم 3رقم جدا نمیکنه
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
نقل قول:
نوشته شده توسط
محمد رضا فاتحی
این فرمت رو تست کنید
mydouble.ToString("##,###")
من متوجه نشدم... از کد فوق چجوری استفاده کنم... در حاله حاضر کد بنده بدین صورته:
TextBox.Text = string.Format("{0:n0}", double.Parse(TextBox.Text.Replace(",", "")));
نقل قول: ضرب دو عدد و نمایش نتیجه آن به صورت فرمت پولی در تکست باکس
نقل قول:
نوشته شده توسط
sattar1
من متوجه نشدم... از کد فوق چجوری استفاده کنم... در حاله حاضر کد بنده بدین صورته:
TextBox.Text = string.Format("{0:n0}", double.Parse(TextBox.Text.Replace(",", "")));
شاید خیلی براتون مساله نباشه، اما دقت کنید که فرض رو بر این قرار دادید که سه رقم سه رقم با کاراکتر "," جدا میشه، میتونه اینطور باشه ولی الزاما اینطوری نیست.
مخصوصا وقتی که FormatProvider رو در برنامه تون مشخص نکنید ToString و string.Format به تنظیمات زبان در ویندوز رجوع میکنه که ببینه فرمت عددی ویندوز چیه.
ممکنه روی سیستم کاربری بجای "," سه رقم سه رقم با "." یا "`" و ... جدا بشه و کلا تفسیر عدد تغییر کنه.
حداکثر یک رقم بعد اعشار :
textBox15.Text = double.Parse(textBox15.Text.Replace(",", "")).ToString("#,0.#");
حداکثر سه رقم بعد اعشار :
textBox15.Text = double.Parse(textBox15.Text.Replace(",", "")).ToString("#,0.###");