PDA

View Full Version : معادل textbox.select در رشته



programerinfonet
دوشنبه 14 مرداد 1392, 12:45 عصر
سلام دوستان
من با کد زیر اعداد درون یک تکست باکس رو سه رقم سه رقم جدا می کنم

string s;
Int64 n;
s = Tx_DC_Amount.Text.Replace(",", "");
n = Convert.ToInt64(s);
Tx_DC_Amount.Text = n.ToString("#,#");
Tx_DC_Amount.Select(Tx_DC_Amount.Text.Length, 1);

حالا اگر بخوام رو یک رشته این کد رو پیاده کنم به خط آخر گیر میده و میگه نمی تونی از رشته select بگیری
یعنی میخوام اگر یک رشته معادلش 10000 بود اونو 10,000 این طور بنویسم

amir200h
دوشنبه 14 مرداد 1392, 12:50 عصر
واسه جدا کردن بهترین کدی هست که دارم. بهتره از این استفاده کنین
تو رویداد TextChanged تکست باکست کد زیرو بزار
if (Tx_DC_Amount.Text == "" || Tx_DC_Amount.Text == "0") return;
decimal price;
price = decimal.Parse(Tx_DC_Amount.Text, System.Globalization.NumberStyles.Currency);
Tx_DC_Amount.Text = price.ToString("#,#");
Tx_DC_Amount.SelectionStart = Tx_DC_Amount.Text.Length;

programerinfonet
دوشنبه 14 مرداد 1392, 13:00 عصر
نه مشکل من اینه که میخوام به جای تست باکس رو رشته عمل کنه
یع متقیر دارم string mablagh
میخوام رو این مبلغ پیادش کنم ولی نمیشه
چه طوری به جای تکست باکس تو رشته ازش استفاده کنم ؟

danialafshari
دوشنبه 14 مرداد 1392, 13:20 عصر
سلام دوست عزیز
خب این مشکلی نیست
شما در نهایت بیا به .toString() تبدیلش کن و در متغیر به صورت string پاسش بده
کامپوننت زیر ساخته یکی از بچه های همیجاس تاپیکش رو گم کردم آپ کردم اینجا بدرد بخوره
موفق باشی

programerinfonet
دوشنبه 14 مرداد 1392, 13:25 عصر
من باید از این کد استفاده کنم
ببینید مشکل این چیه که به خط آخر گیر میده

string s,mablagh;
Int64 n;
s = mablagh.ToString().Replace(",", "");
n = Convert.ToInt64(s);
mablagh = n.ToString("#,#");
mablagh.Select(Tx_DC_Amount.Text.Length, 1);

danialafshari
دوشنبه 14 مرداد 1392, 13:36 عصر
تا اینجا که دیدم Select در String نیست و مربوط به object میشه یعنی میتونی روی Textbox سرچ کنی ولی مبلغ متغیر String هست
اگر می خواین مثلا زدید 10000 برای شما در لحظه بزنه 10.000 از کامپوننت بالا می تونی استفاده کنی یا اگه خواستی کد میزارم

programerinfonet
دوشنبه 14 مرداد 1392, 13:40 عصر
مرسی
من تو کار با آبجکتش مشکل ندارم
مشکل اینه که من میخوام این جدا مردن اعداد روی رشته صورت بگیره که کد اونو نمی دونم

string mablagh = "1000000";
//چه کدی بنویسم که
MessageBox.Show(mablagh);// نتیجه بشه 1,000,000

tooraj_azizi_1035
دوشنبه 14 مرداد 1392, 13:50 عصر
mablagh.ToString("#,#")

danialafshari
دوشنبه 14 مرداد 1392, 14:06 عصر
سرعت اینترنتم افتضاحه
شرمنده بفرمایید:
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;
}
private void button1_Click(object sender, EventArgs e)
{
string mablagh = "1000000";
MessageBox.Show(numberToMoney(mablagh));
}

ali_hojati_00
دوشنبه 14 مرداد 1392, 14:17 عصر
mablagh.ToString("#,#")

string که دیگه .tostring() نمیشه :افسرده:

ali_hojati_00
دوشنبه 14 مرداد 1392, 14:26 عصر
string mablagh="10000000000000000";
System.Int64 a = System.Convert.ToInt64( mablagh);
System.Console.WriteLine(a.ToString("#,#"));