PDA

View Full Version : سوال: نمایش ارقام (مبلغ) در تکست باکس ها به طوری که سه رقم سه رقم جدا باشد



parsester
دوشنبه 28 شهریور 1390, 14:05 عصر
سلام
توی نرم افزارم می خوام زمانی که کاربر مبلغی رو توی تکست باکس وارد می کنه بعد از هر سه رقم (یکان،هزارگان و ...) یک « , » قرار بگیره...
البته من از ماسک تکست باکس هم استفاده کردم اما به طور مثال اگر ماسک اون رو « ---,---,--- » تعریف کرده
باشم و بخوام بیشتر از 9 رقم وارد کنم (برای مواقعی ارقام میلیاردی باشن) این امکان وجود نداره و اگر هم به صورت «---,---,---,---» تعریف کنم در زمان بازیابی ارقام ذخیره شده در بانک اطلاعاتی که جهت انجام محاسبات ریاضی بدون سپراتور ذخیره میشن به طور مثال مبلغ دخیره شده در بانک به صورت 1286327000 (یک میلیارد و دویست و هشتاد و شش میلیون و سیصد و بیست و هفت هزار ریال) در ماسک تکست باکس به صورت «--128,632,700,0» نمایش داده میشه که اشتباه است....
همه تنظیمات ماسک تکست باکس رو هم امتحان کردم مثلا Right To Left کردم و یا حتی در رویداد MaskInputRejected هم کدنویسی کردم که اگر ریجکت شد یعنی ارقام وارد شده بیشتر از ماسک هست اتوماتیک به طور مثال ماسک رو از «---,---,---» به «---,---,---,---» تغییر بده که ارقام به هم میریزن...
اما اینطور نشد...
حالا میخوام از دوستان سوال کنم که چکار باید بکنم که بتونم این مشکل رو حل کنم تا ارقام ریالی نمایش داده شده در تکست باکسم خوانا بشه...
در نرم افزار های بسیاری دیدم که یک تکست باکس هست و وقتی که کاربر ارقام رو در اون تایپ میکنه بعد از اینکه رقم از سه رقم بیشتر شد یک سپراتور و بعد از شش رقم یک سپراتور دیگه و ... و این افزودن سپرداتور به صورت اتوماتیک اتفاق میفته نه اینکه از قبل تعداد سپراتورها تعریف شده باشه...

f_pakzad
دوشنبه 28 شهریور 1390, 14:30 عصر
تو همین سایت نمونه های زیادی هست و تاپیکهای فراوان...
از جمله
جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی (http://barnamenevis.org/showthread.php?99156-%D8%AC%D8%AF%D8%A7-%DA%A9%D8%B1%D8%AF%D9%86-3-%D8%B1%D9%82%D9%85-3-%D8%B1%D9%82%D9%85-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D8%AC%D9%87%D8%AA-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%D9%BE%D9%88%D9%84%DB%8C&highlight=%D8%B1%DB%8C%D8%A7%D9%84)

کامل کردن تکست باکس ریالی (http://barnamenevis.org/showthread.php?222699-%DA%A9%D8%A7%D9%85%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AA%DA%A9%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-%D8%B1%DB%8C%D8%A7%D9%84%DB%8C&highlight=%D8%B1%DB%8C%D8%A7%D9%84)

FastCode
دوشنبه 28 شهریور 1390, 20:03 عصر
int a =34324;
string b = a.ToString("N0");

programerinfonet
دوشنبه 28 شهریور 1390, 21:28 عصر
یک کنترل تکست باکس به صورت سفارشی که خیل مزایا داره که از جمله یکی از آنها جدا سازی مقادیر به صورت سه رقم می باشد

http://up2.iranblog.com/images/2x37pmugsb2m6ekf5ul.rar

در ضمن پس از قراردادن کنترل بر روی فرم اصیت Autosepreator آن رو برابر true قرار بده

faravaghi
دوشنبه 28 شهریور 1390, 23:50 عصر
سلام،
یه سری به این تاپیک (http://barnamenevis.org/showthread.php?298778-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%B9%D8%AF%D8%AF-%D8%A8%D9%87-%D9%81%D8%B1%D9%85%D8%AA-%D9%BE%D9%88%D9%84-%D9%85%D8%AB%D9%84%D8%A7-1000-%D8%A8%D9%87-1-000&p=1311034&viewfull=1#post1311034) بزن.
اگه نتیجه نداد من درخدمتم.

parsester
شنبه 16 مهر 1390, 09:17 صبح
حال اگر بخواهیم متن تکستباکسی که سه رقم سه رقم جدا شده رو بدون سپراتورها در دیتابیس ذخیره کنیم (نوع فیلد در دیتابیس bigint) چکار باید بکنم؟
من این کار رو با کد زیر انجام دادم اما نمیشه

textbox1.text.trim(',')

mmd2009
شنبه 16 مهر 1390, 09:31 صبح
با درود

به این شکل حذفشون کنید :


string a = "23,236";
a = a.Replace(",", string.Empty);
//Result : a=23236

مرتضی تقدمی
شنبه 14 آبان 1390, 10:23 صبح
http://barnamenevis.org/showthread.php?310287-%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA-%D8%AC%D9%85%D8%B9%DB%8C-%D8%B1%D9%88%DB%8C-TextBox&highlight=%D8%AC%D8%AF%D8%A7+%DA%A9%D8%B1%D8%AF%D9 %86+%D8%B1%D9%82%D9%85+%D8%B1%D9%82%D9%85

faravaghi
شنبه 14 آبان 1390, 11:16 صبح
سلام،
اینجوری میشه:
Convert.ToInt64(Convert.ToDouble(textbox1.Text.Tri m())