صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 96

نام تاپیک: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی

  1. #1

    Question جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی

    چه طوری می تونم وقتی اعداد رو تو یه textbox وارد می کنم سه رقم سه رقم اونها رو از هم جدا کنم

  2. #2
    سلام ، امیدوارم این بتونه کمکت کنه
    در رویداد KeyPress تکست باکس بنویس

    if (char.IsLetter(e.KeyChar))
    e.Handled = true;
    بعد در رویداد TextChanged بنویس

    Int64 N;
    try
    {
    String S;
    S = NumericT.Text.Replace(",", "");
    N = Convert.ToInt64(S);
    NumericT.Text = N.ToString("#,#");
    NumericT.Select(NumericT.Text.Length, 1);
    }
    catch
    {
    }
    finally
    {
    this.Invalidate();
    }

    که NumericT اسم تکست باکسه شماست .
    البته یه خورده ایراد داره ولی یکم باهاش ور بری کامل تر میشه . می تونی یک کلاس برای این نوع تکست باکس بسازی که بتونی به ToolBox اضافش کنی .
    راستی ببخشید کد یه خورده قاطیه . نمی دونم کد رو چطور باید Paste کرد .

  3. #3

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    NumberFormatInfo nfi = new NumberFormatInfo();
    nfi.NumberDecimalDigits = 0;
    textBox1.Text = Decimal.Parse(textBox1.Text, NumberStyles.AllowThousands).ToString("N", nfi);
    textBox1.Select(textBox1.Text.Length, 0);
    }


    با توجه به مقدار و اندازه عددی که وارد میشه نوع متغییر تعریف شده را تغییر بده (هر چه عدد بزرگتر متغییر بزرگتر)!

  4. #4
    آقای صالحی از جوابتون متشکرم ولی متوجه نشدم منظورتون از توضیحی که در پایان دادید چیه
    و اینکه اگه بخوام عدد اعشاری بگیرم چیکار باید کرد چون کدی که شما فرستادید برای اعداد اعشاری خطا میده

  5. #5
    منظورم این بود که محدوده عددی که وارد میشه آنقدر زیاد نشه که خطای سرریز بده (بزرگترین نوع داده را انتخاب کنید- در قسمت Parse )

    برای انواع مختلف اعداد قسمت FormatString (پارامتر "N") و NumberStyle رو در حالت های مختلف چک کنید.

    اعشاریش رو هم تست نکردم تا حالا، یه کم با این فرمت هاش ور برید درست میشه(لینک های زیر رو ببینید)!
    Standard Numeric Format Strings
    NumberStyles Enumeration

  6. #6

    Exclamation

    نقل قول نوشته شده توسط arsp_2004 مشاهده تاپیک

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    NumberFormatInfo nfi = new NumberFormatInfo();
    nfi.NumberDecimalDigits = 0;
    textBox1.Text = Decimal.Parse(textBox1.Text, NumberStyles.AllowThousands).ToString("N", nfi);
    textBox1.Select(textBox1.Text.Length, 0);
    }


    با توجه به مقدار و اندازه عددی که وارد میشه نوع متغییر تعریف شده را تغییر بده (هر چه عدد بزرگتر متغییر بزرگتر)!
    'System.Web.UI.WebControls.TextBox' does not contain a definition for 'Select'

  7. #7
    نقل قول نوشته شده توسط cactuskhan مشاهده تاپیک
    'System.Web.UI.WebControls.TextBox' does not contain a definition for 'Select'
    این کد مال ویندوز نه وب ، اونجا باید از جاوا اسکریپت استفاده کنی!

  8. #8
    کاربر تازه وارد آواتار lomir
    تاریخ عضویت
    فروردین 1383
    پست
    60
    از این استفاده کن ولی باید کمی کدو ست بکنی با چیزی که می خواهی
    (string.Format("{0:0,0}", 876567876

  9. #9
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114

    فرمت پول

    سلام

    من دستوری نوشتم که با استفاده از اون فرمت text را تغییر می ده .
    منظورم اینه که یک text box روی فرم گذاشتم در حالت اجرا وقتی داخل textbox چیزی می نویسم خودش 3 تا 3 تا علامت (،) قرار می دهد . ولی وقتی دکمه backspace را هم می زنیم باز هم به حساب عدد فرض می کند و بسته به اون شماره می اندازد و اینجاست که ترتیب به هم می خوره . می خواهم کاری کنم که دکمه backspace را به حساب نیاره . ممنون می شم کمکم کنید.

  10. #10
    نمی دونم شما برای جدا کردن سه رقم سه رقم اعداد چیکار کردی ولی من این مشکل رو داشتم و تو سایت مطرح کردم یکی از دوستان بهم جواب داد جوابشم این بود

    ;() NumberFormatInfo nfi = new NumberFormatInfo
    ;nfi.NumberDecimalDigits = 0
    textBox1.Text = Int64.Parse(textBox1.Text, NumberStyles.AllowThousands).ToString
    ;(N",nfi")
    ;(textBox1.Select(textBox1.Text.Length, 0

    البته اول باید System.Globalization رو به برنامت اضافه کنی

  11. #11
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    ممنون از جوابتون خیلی کمکم کرد ولی من هنوز مشکل دارم:

    1. من می خواهم در حین نوشتن تغییرات ایجاد بشه ولی این کاری که شما گفتید بعد از نوشتن کل اعداد و زدن یک کلید ایجاد می شود.
    2. در کدام رویداد باید این تکه برنامه را بنویسم.

  12. #12
    کاربر دائمی آواتار mahtab_18
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    مشهد
    پست
    114
    سلام

    جوابتون عالی بود من ابتدا اشتباهاً در رویداد click برنامه را نوشتم ولی بعد با جابجایی قطعه برنامه در رویداد text-change به جواب رسیدم.

    فقط یه سوال و اون اینکه منظور از "N" چیست؟

  13. #13
    "N" یعنی اینکه به فرمت عددی تبدیل بشه میتونی برای اینکه اطلاعاتی در این رابطه به دست بیاری تو Help خود vs جستجو کنی دنبال NumberFormatInfo Class باش
    یه سرچ تو سایت بکن تو اون تایپک که من جواب گرفتم یه چند تا لینک بود که میتونی ازش استفاده کنی

  14. #14
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1385
    پست
    89
    سلام.
    من می خواستم از این کدی که گذاشتید استفاده کنم ولی روی سطر
    ()textBox1.Text = Decimal.Parse(textBox1.Text, NumberStyles.AllowThousands).ToString
    خطای
    Input string was not in a correct format. می گیره. چکار کنم؟

  15. #15
    من فکر می کنم می خواستی عدد اعشاری وارد کنی و وقتی ممیز میزدی این خطا رو بهت میداده این کد فقط برای اعداد صحیح قابل استفاده است .
    در ضمن اگر ممیز نمیزدی و فقط عدد وارد می کردی نباید بهت خطا بده ولی اون طوری که تو نوشتی اعداد رو سه رقم سه رقم جدا نمیکنه چون توی تابع ToString فرمت تبدیلت رو مشخص نکردی

  16. #16
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1385
    پست
    89
    فرمت تبدیل را مشخص کردم. دقیقا همانطور که iranrose63 نوشته (N",nfi") ولی اینجا ننوشتم. در ضمن خطا را موقع debug کردن می گیره .

  17. #17
    کاربر دائمی
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    مشهد
    پست
    352

    جدا کردن سه رقم به سه رقم در تکس باکس

    با سلام
    من یه تکس باکس دارم که مبلغ پرداختی رو کاربر درون او وارد می کنه
    من می خوام زمانی که کاربر در حال وارد کردن مقدار است به صورت اتومات هر سه رقمی که کاربر وارد کد یه ، قرار بده.
    چطور میشه این کار را انجام داد
    توجه(زمانی که کاربر Back Space زد باید ، ها جا به جا شوند)
    12،411،254
    بعد از زدن Back Space
    1،241،125

  18. #18
    در رویداد مربوط به text change مربوط به تکست باکس این کد را بنویس


    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    decimal Number;
    if (decimal.TryParse(textBox1.Text, out Number))
    {
    textBox1.Text = string.Format("{0:N0}", Number);
    textBox1.SelectionStart = textBox1.Text.Length;
    }
    }



    در صورت جستجو به این موارد بر میخوردی

    https://barnamenevis.org/showth...A7%DA%A9%D8%B3

    https://barnamenevis.org/showth...A7%DA%A9%D8%B3

    https://barnamenevis.org/showth...A7%DA%A9%D8%B3

    https://barnamenevis.org/showthread.php?t=75685
    فایل های ضمیمه فایل های ضمیمه

  19. #19

    جدا کردن سه رقم در TextBox

    سلام
    چطوری می تونیم اعدادی رو که در text box وارد می کنیم سه رقم سه رقم جدا کنیم؟

  20. #20

  21. #21
    کاربر دائمی آواتار silentrise
    تاریخ عضویت
    مهر 1386
    محل زندگی
    Tehran
    پست
    147
    سلام
    از متد Substring در کلاس
    string می توتنی استفاده کنی.

    Substring(x, y)

    x= نقطه شروع
    y=نقطه پایان
    راستی ورودی باید
    string باشه.
    باسپاس.

  22. #22
    کاربر دائمی آواتار Masoud_TB
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    165
    اگر منظورت در نحوه نمایش است کافیه که بهش FormatString بدی. البته می تونی یک کلاس جدید ایجاد کنی که از TextBox به ارث بره و سپس توی اون این رفتار رو اضافه کنی:

    txtNumber.Text = string.Format("{0:n}",2500000);



    اینم مثالی برای همین موضوع
    فایل های ضمیمه فایل های ضمیمه

  23. #23
    نقل قول نوشته شده توسط Masoud_TB مشاهده تاپیک
    اگر منظورت در نحوه نمایش است کافیه که بهش FormatString بدی. البته می تونی یک کلاس جدید ایجاد کنی که از TextBox به ارث بره و سپس توی اون این رفتار رو اضافه کنی:

    txtNumber.Text = string.Format("{0:n}",2500000);

    اینم مثالی برای همین موضوع
    مرسی کارم درست شد اما حالا چطوری می تونیم اون رو به حالت اولیه در بیاوریم چون عددی که در این textBox وارد می شه باید در دیتا بیس ذخیره شود.

  24. #24
    کاربر دائمی آواتار Masoud_TB
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    165
    توی اون مثالی که برات گذاشتم یک Property به نام Value وجود داره که مقدار رو بر می گردونه می تونی از اون استفاده کنی.

  25. #25
    بازم مرسی
    حالا کسی می دونه تو DataGridView چطوری باید سه رقم سه رقم عدد ها رو جدا کنیم

  26. #26

    دادن مقادیر money به textboxها

    با سلام میخواستم بدونم چطور میشه تو یه textbox کاربر یه مقدار پولی وارد کنه و سیستم خودش سه رقم سه رقم این اعداد رو از هم جدا کنه که کاربر اشتباه این مقادیر رو وارد نکنه

  27. #27
    کاربر دائمی آواتار silentrise
    تاریخ عضویت
    مهر 1386
    محل زندگی
    Tehran
    پست
    147
    سلام
    این نیز در این سایت مطرح شده بود !
    همین سه رقم سه رقم رو سرچ کن !

  28. #28
    سلام
    پیداش نکردم میشه بیشتر توضیح بدین

  29. #29

    Question مشکل در مقادیر TextBox پولی

    من برای یک برنامه نیاز به TextBoxی برای کار کردن با مقادیر پول دارم
    یعنی بعد از وارد شده عدد درون آن، سه تا سه تا جدا کرده و ریال را به انتهای آن اضافه کند.
    تا اینجاشو مشکلی ندارم (غیر از اینکه ریال رو سمت راست عدد می‌گذاره و سمت چپش نمی گذاره)

    مشکل من در برگردوندن مقدار داخل TextBox برای ذخیره کردن داخل دیتابیس است.
    (اول روش حلقه و کار با رشته برای اضافه کردن و حذف علامات و ریال به ذهنم رسید جواب میده ولی خوشم نیومد جالب نیست )
    از چه روشی می‌تونم برای برگردوندن عدد درون TextBox استفاده کنم.
    این هم کدی که استفاده می‌کنم:

    private void txtBxPrice_Leave(object sender, EventArgs e)
    {
    TextBox txtBxTest = sender as TextBox;

    if (((txtBxTest.Text.IndexOf("ریال") == -1) & (txtBxTest.Text.IndexOf(',') == -1) & (txtBxTest.Text != "")))
    {
    NumberFormatInfo nfi = new NumberFormatInfo();
    nfi.CurrencyDecimalDigits = 0;
    nfi.CurrencyGroupSeparator = ",";
    nfi.CurrencySymbol = "ریال";
    txtBxTest.Text = Int64.Parse(txtBxTest.Text, NumberStyles.AllowThousands|NumberStyles.AllowCurr encySymbol).ToString("C", nfi);
    }
    }
    آخرین ویرایش به وسیله razavi_university : دوشنبه 05 فروردین 1387 در 12:02 عصر
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  30. #30
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    من فکر میکنم مشکل شما حذف کردن علامت ریال از مقدار پول برای ذخیره در دیتابیسه، اگه درست متوجه شده باشم، یه نمونه کد اینجا برات گذاشتم که بتونی از راه ساده تری ریال رو حذف کنی :
    فایل های ضمیمه فایل های ضمیمه

  31. #31
    درسته من توی برداشتن علامت ',' و "ریال" مشکل دارم.
    هیچ راه دیگه‌ای نداره که نخوام از کد زیر استفاده کنم.

    this.textBox1.Text.Replace(" ریال", string.Empty);
    نمیشه یه جورایی با این کد درستش کرد

    Int64.Parse(txtBxTest.Text, NumberStyles.AllowThousands|NumberStyles.AllowCurr encySymbol)
    من هرچی تلاش کردم نشد
    و یا حداقل یه روش دیگه برای اضافه و حذف کردن علامت "ریال" و "," البته به جز حلقه و کار با String
    ممنون
    آخرین ویرایش به وسیله razavi_university : دوشنبه 05 فروردین 1387 در 18:06 عصر
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  32. #32
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    دقیقا هدفت از این کار چیه و چرا نمیخوای از اون کد استفاده کنی ؟
    البته به جز حلقه و کار با String
    تا اونجایی که ممکنه از کار کردن با String اونم در حلقه، دوری کن، چون این کار سربار زیادی روی حافظه داره.

  33. #33
    من مقادیر رو با پارامتر به SQL Command اضافه می کنم و بعد . . .
    اول می‌خواستم متد get Text کنترل TextBox رو Override کنم ولی نشد

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

    cmd.Parameters.AddWithValue("@mprice", txtBxPrice.Text);


    تا اونجایی که ممکنه از کار کردن با String اونم در حلقه، دوری کن، چون این کار سربار زیادی روی حافظه داره.
    نه من حلقه رو برای سه تا سه تا کردن اعداد استفاده می‌کردم و بعد از خروج از حلقه "ریال" رو Insert می‌کردم برای حذفش هم از همون روشی که خودتون استفاده کردین استفاده کردم.
    البته میشه قبل از اینکه تغییرات روی مقادیر داخل TextBox اعمال بشه اون رو داخل یک متغیر دیگه ذخیره کرد و بعد اون متغیر رو داخل دیتا‌بیس ذخیره کرد.( ولی این هم میشه کار اضافه)
    تا اینکه اون روشی که در پست اول هست رو استفاده کردم راحت قرار میده ولی برداشتنش ؟؟؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  34. #34
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    باز اگه منظورت رو متوجه شده باشم، میخوای ریال رو حذف کنی و به آبجکت SqlCommand ات پاس کنی، اونم با حداقل کد نویسی، خب این چطوره :
    cmd.Parameters.AddWithValue("@mprice", this.textBox1.Text.Replace(" ریال", string.Empty));

  35. #35
    خب با "," ها چه کنم که بین هر سه رقم اضافه شده؟؟
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  36. #36
            public override string Text
    {
    get
    {
    return base.Text.Trim().Replace(",", "");
    }
    set
    {
    base.Text = value;
    }
    }

  37. #37
    نقل قول نوشته شده توسط razavi_university مشاهده تاپیک
    خب با "," ها چه کنم که بین هر سه رقم اضافه شده؟؟
    اصلا چه لزومی داره که کلمه "ریال" داخل خود تکست باکس بیاد.
    مهم علامت کاماست که خیلی راحت میشه ورش داشت.
    "ریال" رو داخل یک لیبل بگذارید.

  38. #38
    خب چه لزومی داره ما به جای حل مسئله صورت مسئله رو تغییر بدیم
    همانطوری که میدونین در نرم‌افزار‌های تحت ویندوز(مثلا مجموعه Office) مقادیر Currency که با اسامی مختلف (Money) نامیده می‌شوند. واحد پول مکانی که برای ویندوز مشخص شده است (در regional and language option) را به انتهای عدد اضافه می کنند.(داخل خود TextBox)
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

  39. #39
    کاربر دائمی آواتار hdv212
    تاریخ عضویت
    آبان 1384
    محل زندگی
    قم
    پست
    1,727
    خب علامت "," هم از همون طریق میتونی حذفش کنی، کدش رو هم egoldashraf در پست 8 برات نوشته.

  40. #40
    راهی نداره که بشه از این کد استفاده کرد

    Int64.Parse(txtBxTest.Text, NumberStyles.AllowThousands|NumberStyles.AllowCurr encySymbol);
    آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
    آن لحظه،
    لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .

    برنولی

صفحه 1 از 3 123 آخرآخر

تاپیک های مشابه

  1. textbox توسعه یافته
    نوشته شده توسط saeed_rezaei در بخش VB.NET
    پاسخ: 5
    آخرین پست: یک شنبه 06 آبان 1386, 22:34 عصر
  2. محدود کردن textbox
    نوشته شده توسط jafari_m246 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 31 مرداد 1386, 06:48 صبح
  3. نمایش فیلد های بانک داده در textbox
    نوشته شده توسط rezaiy.ali در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 31 خرداد 1386, 23:07 عصر
  4. اعتبار سنجی textbox و رفتن به فرم دیگر
    نوشته شده توسط amir_pro در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: چهارشنبه 30 خرداد 1386, 17:25 عصر
  5. چگونه محتویات یک textbox html را در textbox asp.net قرار داد
    نوشته شده توسط j-mehdi در بخش طراحی وب (Web Design)
    پاسخ: 13
    آخرین پست: دوشنبه 30 خرداد 1384, 21:44 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •