PDA

View Full Version : جداکردن سه رقم سه رقم برای اعداد



centerpace
پنج شنبه 02 تیر 1390, 01:28 صبح
سلام دوستان عزیز
می خواستم بدونم چطورمیشه وقتی می خوایم اعداد رو مثلا برای مبالغ وارد می کنیم سه رقم سه رقم توی text boxجدا کنه.

AlgorithmX
پنج شنبه 02 تیر 1390, 02:11 صبح
این رو داخل یک دکمه بنویس :

for (int i = 3; i < textBox1.TextLength ; i+=4) textBox1.Text = textBox1.Text.Insert(i, ",");

mmd2009
پنج شنبه 02 تیر 1390, 05:36 صبح
با سلام

اینم یک کنترل سافرشی برای این کار

sg.programmer
پنج شنبه 02 تیر 1390, 12:48 عصر
این رو داخل یک دکمه بنویس :

if (txt_Salary.Text.Length > 0 && IsWholeNumber(txt_Salary.Text))
{
decimal _fee = 0;
_fee = Convert.ToDecimal(txt_Salary.Text);
lbl_Fee.Text = _fee.ToString("###,###,###,###");
}


***************

public bool IsWholeNumber(string strNumber)
{
if (strNumber == "")
return false;
Regex objNotWholePattern = new Regex("[^0-9]");
return !objNotWholePattern.IsMatch(strNumber);
}

masoud_z_65
پنج شنبه 02 تیر 1390, 18:55 عصر
با سلام

اینم یک کنترل سافرشی برای این کار

سلام میشه که نحوه استفادشو مختصر توضیح بدی؟
من توی برنامم dll رو add کردم و using هم کردم اما نمیدونم چجور باید ازش استفاده کنم!!
حتی توی لیست کنترل هام هم چیزی به نام numerictextbox نیومد!

mmd2009
پنج شنبه 02 تیر 1390, 19:46 عصر
ببین دوست عزیز شما باید کنترل رو Drag بکنی تو ToolBox یا اینکه Add کنی اونو تو ToolBox

موفق باشی

meysamrt
پنج شنبه 02 تیر 1390, 23:37 عصر
int num = 1234567;
string snum = String.Format("{0:n}", num);

FastCode
پنج شنبه 02 تیر 1390, 23:40 عصر
چرا میپیچونید؟
string Result = Input.ToString("N0");

Modernidea
جمعه 14 بهمن 1390, 21:55 عصر
با سلام

اینم یک کنترل سافرشی برای این کار

سلام
ممنون از پست مفیدتون،
مشکلی که این کنترل داره اینه که وقتی به صورت کدنویسی مقدار تکست این کنترل را عوض میکنیم، عدد مربوطه را به صورت سه رقم جدا نشان نمیدهد، بلکه به صورت معمولی مثلا "52000" نشان میدهد.
راهی برای حل این مشکل است؟

PetekDincos
جمعه 14 بهمن 1390, 22:40 عصر
با سلام
من چطور می تونم جدا کننده اعداد دسیمال که به صورت پیش فرض '.' می باشه رو به '/' تغییر بدم با تشکر

majid.gymnast
شنبه 15 بهمن 1390, 09:59 صبح
سلام من این کدا رو تو ایونت textchange تکست باکسم میزارم :
if (txtprice.Text == "" || txtprice.Text == "0") return;
decimal price;
price = decimal.Parse(txtprice.Text, System.Globalization.NumberStyles.Currency);
txtprice.Text = price.ToString("#,#");
txtprice.SelectionStart = txtprice.Text.Length;

میلاد رئیسی
شنبه 15 بهمن 1390, 10:54 صبح
سلام میشه که نحوه استفادشو مختصر توضیح بدی؟
من توی برنامم dll رو add کردم و using هم کردم اما نمیدونم چجور باید ازش استفاده کنم!!
حتی توی لیست کنترل هام هم چیزی به نام numerictextbox نیومد!

با سلام .
دوست عزیز من فیلم آموزشی نحوه اضافه کردن این کمپوننت و نحوه استفاده رو توی لینک زیر گذاشتم .

اینم لینک (http://s1.picofile.com/file/7280887204/numeric_textbox_MiladSoft.zip.html) :چشمک:

hashtgerd2
دوشنبه 16 دی 1392, 16:02 عصر
این راحت تره
کد اولی برعکسه از اول عدد شروع میکنه به جدا کردن
باید برعکس بشه اینجوری
for (int i = lblMajmuePardakht.Text.Length - 3; i >= 0; i -= 3) lblMajmuePardakht.Text = lblMajmuePardakht.Text.Insert(i, ",");

hashtgerd2
دوشنبه 16 دی 1392, 16:23 عصر
دوستان من می خوام خود تکس باکس وقعی که دارم عدد رو وارد میکنه سه رقم سه رقم جدا کنه ولی مقدار عددش مهم هست چون همون لحظه با مقدار تکس باکس محاسبه انجام میده که اگه این کارو بکنم اونوقت اشتباه میشه چون کاراکتر کاما داخلش هست.
چه راه کاری پیشنهاد میدید؟
استفاده از متغییر کمکی؟

elham_s20
شنبه 17 اسفند 1392, 15:43 عصر
از این استفاده کن

string a="1,234";
a.Replace(",", string.Empty);

daniyaltjm
شنبه 17 اسفند 1392, 17:16 عصر
به پروژه پول شمار من توی قسمت پروژه های open source نگاه کن ببین هم از کامپوننت استفاده کردم هم به صورت دستی با استفاده از strtest.ToString("N0"); میتونی بهش جداکننده بدی حالا این کد میتونه توی رویداد textchange باشه که خودکار سپریتور بزاره و با این کد strtest.Replace(",", ""); می تونی سپرین هارو پاک کنی و برای کارای محاسباتت ازش استفاده کنی.