-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
دوست عزیز من هم واسه همین سورسشو رو گذاشتم که شما بتونین خودتون تغییرات لازم واسه کارتون رو بهش بدین ولی تا حد امکان سعی کردم امکاناتش عمومیت داشته باشه
در مورد خطاهایی که فرمودین:
1- فکر نمی کنم بیشتر از یک فاصله جالب باشه (از نظر من جالب نبود تفاوت در سلیقه همینه دیگه)
2- خوب آخه واسه من پیش نیومد که بخوام CurrencySymbol رو خالی بگذارم همیشه یه چیزی می گذاشتم (ریال، کیلو و ...)
3- واسه کار من نیازی به اعشار نداشت واسه همین عمدا حذفش کردم
نتیجه گیری آخر : من چون نمی دونم شما چه استفاده ای ازش می خوایید بکنید بهتره خودتون بر حسب نیازتون تغییرش بدین و نسخه نهایی رو هم همینجا قرار بدین تا سایر دوستان هم استفاده کنند
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
من برای گرم و کمتر نیاز به اعشار دارم بنابراین هرچه خواستم کد آن را عوض کنم نتوانستم نیاز به اعشار را اضافه کنم.
در مورد فاصله هم باید بگویم که اینگونه نشان می دهد:
456,544,100ریال
اگر می شد که قابلیت گذاشتن فاصله به آن اضافه کرد مناسب تر هست:
456,544,100 ریال
من برای این مشکل هرچه سعی کردم ولی حل نشد.
این یکی مشکل زیاد حاد نیست ولی من می خواستم که فقط اعداد را در text نمایش بدهم و ریال را در caption. این مشکل نیز نتوانستم رفع کنم.
بنابراین مشکل را حل کنید یا طریق رفع مشکل را به من راهنمایی کنید.
با تشکر از زحماتتان
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
البته من کد پیچیده ای واسه اون کنترل به کار نبردم . برای هر قسمتش کامنت گذاشتم تا واسه بقیه راهنما باشه
به هر حال سعی می کنم تغییراتی که لازم دارید رو در اون انجام بدم و نسخه جدیدش رو همینجا قرار می دم
این پست با نسخه جدید کنترل جایگزین می شود
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
برای اضافه کردن اعشار فقط به جای value = d.ToString("#,#");
این را بنویسید:
value = d.ToString("#,#.#");
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
میشه بگین این کار برای Web application چه جوری انجام میشه؟ ممنون میشم.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
كسي نمي دونه تو Web application چه جوري مي شه اينكار رو كرد؟؟؟ خواهشا يكي جواب بده. تاپيك جديد كه نمي ذارن بنويسم!!!
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
با سلام
دوست عزیر اول باید ازتون تشکر کنم بابت این کار جالب ومفید یک پیشنهاد دارم که اگر توی این کار این رو اجرا کنی بسیار جالب میشه کامای بین اعدادو در زمان وارد کردن عدد بزاره خیلی جالب میشه من این کارو کردم و دارم ازش استفاده میکنم بد نیست
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
با سلام
من دو بار برنامه رو د انلود کردم ولی نتونستم استفاده کردم ممنون اگه بگین چه جوری باید استفاده کنیم
من به برنامه یه فرم اضافه کردم و این کنترل رو از toolboxبهش اضافه کردم ولی error میده . نمی دونم روش کارش چیه ؟؟ م منون
argument exception was unhandled
کد
Assembly 'C:\Documents and Settings\salam\Desktop\28sh\New Folder\Money TextBoxhh\Money TextBox\obj\Release\Money TextBox.dll' doesn't contain any UserControl types.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام من اين كد رو استفاده كردم و جواب داد ولي اين سه رقم شدن فقط در textbox اتفاق ميافته و در ديتاگريد ويو دوباره به شكل اول برميگرده بايد چكار كرد؟
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
خوب این کنترل فقط 3تایی نمایش میده برای اینکه DataGrid درست نمایش بده باید حالت نمایش اون Column از DataGrid رو تغییر بدین
جستجو کنین قبلا بحث شده
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
لطفا یکی بگه چه جوری باید ازش استفاده کرد من خیلی بهش احتیاج دارم تویه فرم اونو میارم ولی error میده .
یکی جوااااااااااب بده لطفا
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
dll تست شد و مشکلی نداشت
از کدوم نسخه اش استفاده میکنید بهتره اونی که در تاپیک نمونه برنامه ها است رو استفاده بکنین
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
mahtab_18
سلام
جوابتون عالی بود من ابتدا اشتباهاً در رویداد click برنامه را نوشتم ولی بعد با جابجایی قطعه برنامه در رویداد text-change به جواب رسیدم.
فقط یه سوال و اون اینکه منظور از "N" چیست؟
میشه بگید چطوری در رویداد text-change به جواب رسیدید؟
آخه چطوری؟:متفکر:
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام
این تاپیک که لینک هست بعد از این تاپیک زده شده ولی چون بحث اتوماتیک این موضوع اونجا مطرح شده بود بنده کد رو توی اون تاپیک گزاشتم کداول یه مشکل کوچیکی داره ولی کد دوم مشکل حل شده
https://barnamenevis.org/showth...244#post604244
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
من ازفایلی که تو نمونه برنامه ها قرار د ادید استفاده می کنم ولی همون error رو می ده
لطفا فقط بگید که چه جوری باید ازش استفاده کنم
Assembly 'C:\Documents and Settings\salam\Desktop\7mehr\Money TextBox\Money TextBox\obj\Release\Money TextBox.dll' doesn't contain any UserControl types.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
از DLLی که در فولدر زیر است استفاده کنید.
Money TextBox\bin\Release\Money TextBox.dll
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
با سلام علاوه بر textboxی که سه رقم سه رقم اعدادو جداو میکنه آیا می شه که برای وارد کردن عدد 120000 ما فقط عدد 120رو وارد کنیم وسه تا صفر رو خودش اضافه کنه یعنی عدد رو با فرمت هزارریال وارد کنه. البته با تعریف فیلد قیمت به شکل decimal(18,3) سه تا صفر تو بانک ا ضافه میشه ولی تو textbox وارد نمیشه امیدوارم منظورمو درست گفته باشم
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
بله این امکان را به راحتی با تغییر سورس می توان قرار داد
3صفری که فرمودین بعد از ممیز اضافه می شوند و ارزش عددی ندارند
-
1 ضمیمه
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
اين كدروامتحان كنيد:
int s = 1237;
Console.WriteLine(s.ToString("0,0"));
//1,237
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
يابه اين صورت:
int s = 1237;
Console.WriteLine(s.ToString("#,#"));
//1,237
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
البته هردوي اينها يك مثال عام هستند!دوستان گرامي كافي است به هرنوع داده عددي كه نيازدارند اين حالت راتعميم دهند.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
sasanazizi
این هم یک نمونه اش
نقل قول:
نوشته شده توسط
nathan
اين كدروامتحان كنيد:
int s = 1237;
Console.WriteLine(s.ToString("0,0"));
//1,237
نقل قول:
نوشته شده توسط
nathan
يابه اين صورت:
int s = 1237;
Console.WriteLine(s.ToString("#,#"));
//1,237
نقل قول:
نوشته شده توسط
nathan
البته هردوي اينها يك مثال عام هستند!دوستان گرامي كافي است به هرنوع داده عددي كه نيازدارند اين حالت راتعميم دهند.
با تشکر از تمامی دوستان
اگر دقت کنید روشهایی که فرمودین یا ضمیمه کردین در نسخه های اولیه MoneyTextBox استفاده شده.
مثلا استفاده از حالت
ToString("C");
یا
ToString("#,#")
به دلایل مشکلاتی که این روشها داشتند کنار گذاشته شدند به عنوان مثال استفاده از C برای چاپ ریال باعث قرار دادن آن سمت چپ می شود و یا استفاده از "#,#" به دلیل ایجاد مشکل برای حالت ممیز
روشهایی که اکثرا در MSDN یا سایتهای غیر فارسی زبان دیگر گفته می شود برای زبان و اعداد انگلیسی به خوبی کار می کند (چون اعداد و حروف از چپ نوشته می شوند) ولی برای زبانهایی مانند فارسی که مشکل راست به چپ کماکان در ویندوز نسبتا وجود دارد این روشها کارساز نیست (و یا می خواهیم ریال در سمت راست اضافه شود)
برای توسعه سریعتر و بهتر برای رسیدن به یک کنترل مناسب جهت استفاده در برنامه ها لطفا آخرین مثال را توسعه دهید
http://i34.tinypic.com/103ftoy.jpg
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
با سلام خدمت دوستان و تشکر
بچه ها ببینید کاری که کرده ام درسته من اول به پروژخ اصلی یک کلاس اضافه می کنم بعد با کپی کردن کلاس این تکس باکس و تغیر فضای نام و این کارها بعد کامپوننتی که در toolbox قرار گرفته را روی فرم می کشم و از آن استفاده می کنم
اما مشکل
حالا که می خواهم اطلاعات را به drideview وارد کنم برنامه قفل می شه اما در database اطلاعاتم ذخیره شده
چه کارکنم که این مشکل به وجود نیاد
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
... قفل می شه ...
یعنی چی قفل میشه؟؟؟
دیباگ کنید ببینید مشکل از کجاس...
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
razavi_university
با تشکر از تمامی دوستان
اگر دقت کنید روشهایی که فرمودین یا ضمیمه کردین در نسخه های اولیه MoneyTextBox استفاده شده.
مثلا استفاده از حالت
ToString("C");
یا
ToString("#,#")
به دلایل مشکلاتی که این روشها داشتند کنار گذاشته شدند به عنوان مثال استفاده از C برای چاپ
ریال باعث قرار دادن آن سمت چپ می شود و یا استفاده از
"#,#" به دلیل ایجاد مشکل برای حالت ممیز
روشهایی که اکثرا در MSDN یا سایتهای غیر فارسی زبان دیگر گفته می شود برای زبان و اعداد انگلیسی به خوبی کار می کند (چون اعداد و حروف از چپ نوشته می شوند) ولی برای زبانهایی مانند فارسی که مشکل راست به چپ کماکان در ویندوز نسبتا وجود دارد این روشها کارساز نیست (و یا می خواهیم
ریال در سمت راست اضافه شود)
برای توسعه سریعتر و بهتر برای رسیدن به یک کنترل مناسب جهت استفاده در برنامه ها لطفا آخرین مثال را توسعه دهید
http://i34.tinypic.com/103ftoy.jpg
روشهایی دیگران گفتند استفاده از C و ... درست هست ، شما با تغییر در numberformatinfo همه اینها را می توانید کنترل کنید.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
یعنی چی قفل میشه؟؟؟
مطنئن هستم که برنامه هیچ مشکل خاصی نداره
تنها زمانی که از این کلاس استفاده می کنم و برنامه را اجرا می کنم فرم ثابت می ماند و با یک کلیک به حالت not responding می رود ولی تغییرات در پایگاه اعمال می شود
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام
نقل قول:
برای توسعه سریعتر و بهتر برای رسیدن به یک کنترل مناسب جهت استفاده در برنامه ها لطفا آخرین مثال را توسعه دهید
من می خواستم از این کنترل استفاده کنم و در هنگامی که فوکوس روی آن قرار می گیرد رنگ زمینه Texbox تغییر کنه ولی این اتفاق نمی افته یعنی وقتی من در ایونت Enter می خوام رنگ زمینه را عوض کنه عمل نمی کنه .
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
من این تابع را نوشتم:
//convert a number in to money format.
public static string numberToMoney(string input)
{
input = moneyToNumber(input);
string outputT = "";
string output = "";
int j=0;
for(int i = input.Length-1;i>=0;i--)
{
outputT += input[i];
if (j % 3 == 2 && j < input.Length - 1)
{
outputT += ",";
}
j++;
}
for(int i=outputT.Length-1;i>=0;i--)
{
output += outputT[i];
}
return output;
}
//convert a money format to number
public static string moneyToNumber(string input)
{
string output = "";
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ',')
output += input[i];
}
return output;
}
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
mostafah110
من این تابع را نوشتم:
//convert a number in to money format.
public static string numberToMoney(string input)
{
input = moneyToNumber(input);
string outputT = "";
string output = "";
int j=0;
for(int i = input.Length-1;i>=0;i--)
{
outputT += input[i];
if (j % 3 == 2 && j < input.Length - 1)
{
outputT += ",";
}
j++;
}
for(int i=outputT.Length-1;i>=0;i--)
{
output += outputT[i];
}
return output;
}
//convert a money format to number
public static string moneyToNumber(string input)
{
string output = "";
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ',')
output += input[i];
}
return output;
}
آقا من با این برنامه شما خیلی حال کردم :خجالت:
ازش دوتا سوال دارم
یکی اینکه اون قسمت J%3 == 2 رو برام یک توضیح میدی ؟
دوم اینکه اگه بخوایم با یک فاصله کنار عدد بنویسه "ریال" و تو تابع بعدی که می خواد اونو به عدد معمولی تبدیل کنه بتونه اونو حذف کنه، کد رو به نظرت چجوری تغییر بدیم بهتره؟
با تشکر
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
HOJAT1
اینم بد نیست منتها نتونستم به تابع تبدیلش کنم.ممنون میشم اینم ارتقا به تابع بدید
if
(!(string.IsNullOrEmpty(this.G_JAV_MB.Text)))
{
String S = T_PRICE.Text.Replace(",", "");
T_PRICE.Text = (
Convert.ToInt64(S)).ToString("#,#");
T_PRICE.SelectionStart = T_PRICE.Text.Length;
T_PRICE.Focus();
}
من فکر میکنم برنامه شما یک مشکلی که داره اینه که با اعداد اعشاری میونه ای نداره، درسته؟
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
حال اگر بخواهیم متن تکستباکسی که سه رقم سه رقم جدا شده رو بدون سپراتورها در دیتابیس ذخیره کنیم (نوع فیلد در دیتابیس bigint) چکار باید بکنم؟
من این کار رو با کد زیر انجام دادم اما نمیشه
textbox1.text.trim(',')
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
یه سری تغییرات تو این تابع دادم که میزارمشون!
//convert a number in to money format.
public static string numberToMoney(string input, bool rightToLeft = true)
{
input = moneyToNumber(input);
double inp_int = Convert.ToDouble(input);
bool containDot = false;
if (inp_int < 0)
{
input = input.Remove(0, 1);
}
string[] s = { "", "" };
if (input.Contains('.'))
{
s = input.Split('.');
input = s[0];
containDot = true;
}
string outputT = "";
string output = "";
int j = 0;
for (int i = input.Length - 1; i >= 0; i--)
{
outputT += input[i];
if (j % 3 == 2 && j < input.Length - 1)
{
outputT += ",";
}
j++;
}
for (int i = outputT.Length - 1; i >= 0; i--)
{
output += outputT[i];
}
if (containDot)
output += "." + s[1];
if (inp_int < 0)
{
if (rightToLeft)
output = output.Insert(output.Length, "-");
else
output = output.Insert(0, "-");
}
return output;
}
//convert a money format to number
public static string moneyToNumber(string input)
{
if (input == "")
input = "0";
string output = "";
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ',')
output += input[i];
if (input[i] == ' ')
break;
}
return output;
}
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام
اما یه مشکل اساسی دیگه ای هم داره!
آنتی ویروس من اونو ویروس میشناسه! یا سیستمتون ویروسی هست یا خودتون ویروس نوشتید. شاید نه باید !
اما جسارتم رو ببخشید . بعد از دانلود موقع اجرا حذف شد . احتمالا موقع نصب هم همین بلا سرش میاد.
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
ازتوابع Mid و Len استفاده کن.(آسون ترین راه!!)
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
decimal a = Convert.ToDecimal (x);
price = a.ToString("#,##0");
مقدار X عدد شما به صورت String میباشد . به همین سادگی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام دوستان
در اولین پست کدی قرار داده شد ، ولی نمیتونم اجرا کنم
if (char.IsLetter(e.KeyChar))
e.Handled = true;
زیر KeyChar خط کشیده .
چکار باید کرد ؟
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
این کد رو درون text changed بنویس واقعا عالی کار میکنه
private void txt1_TextChanged(object sender, EventArgs e)
{
decimal Number;
if (decimal.TryParse(txt1.Text, out Number))
{
txt1.Text = string.Format("{0:N0}", Number);
txt1.SelectionStart = txt1.Text.Length;
}
}
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
دوست عزیز این کد رو باید تو رویداد key press بنویسی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
sab2020
سلام دوستان
در اولین پست کدی قرار داده شد ، ولی نمیتونم اجرا کنم
if (char.IsLetter(e.KeyChar))
e.Handled = true;
زیر KeyChar خط کشیده .
چکار باید کرد ؟
دوست عزیز این کد رو باید تو رویداد key press بنویسی
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
نقل قول:
نوشته شده توسط
rezakhafan4u
آقا من با این برنامه شما خیلی حال کردم :خجالت:
ازش دوتا سوال دارم
یکی اینکه اون قسمت J%3 == 2 رو برام یک توضیح میدی ؟
دوم اینکه اگه بخوایم با یک فاصله کنار عدد بنویسه "ریال" و تو تابع بعدی که می خواد اونو به عدد معمولی تبدیل کنه بتونه اونو حذف کنه، کد رو به نظرت چجوری تغییر بدیم بهتره؟
با تشکر
اولا خیلی معذرت که اینقدر دیر جواب دادم :خجالت:
خب قراره ۳ تا ۳ تا جدا کنیم j%3 هم باقیمانده J بر ۳ رو بهمون میده ... اونجاهایی که باقیمانده صفر هستن پس یک کاما میزاریم.
خب برای حذف ریال هم از دستور replace استفاده کن. این شکلی:
input.replace(" ریال", "");
-
نقل قول: جدا کردن 3 رقم 3 رقم اعداد جهت نمایش مقادیر پولی
سلام یه سوال دارم
چطوری میتونم که نوعیت پولی رو زمانی که تو تکس باکس نوشتم و ارقام ذخیره شد تو دتابس نوعیت پولی مشخص بشه مثلا من از چند تا نوعیت پولی استفاده میکنم مثلا دلار ؛ تومان ؛ یورو ؛ و افعانی . حالا میخوام وقتی ارقامم رو وارد کردم وقتی ذخیره میشه داخل دتابس نوعیت پولی هم ذخیره بشه مثلا من وارد میکنم تو حساب دلاری خودم 89000 هشتادو نه هزار دالار این تو دتابس اینجوری بیاد $89,000 علامت دلار هم آخرش بیاد و تو محاسبات هم این علامت محاسبات رو بهم نزنه .
تشکر