نقل قول: جدا کردن 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 علامت دلار هم آخرش بیاد و تو محاسبات هم این علامت محاسبات رو بهم نزنه .
تشکر