PDA

View Full Version : عدد Label به صورت سه رقم سه رقم با ویرگول نمایش داده بشود



JackJumper.Net
چهارشنبه 16 آبان 1386, 01:31 صبح
سلام، خسته نباشید.

در vs2005 و به زبان VB آیا در ورژن جدید امکاناتی هست که راحت بشود متن یک label را به صورت پولی همان سه رقم سه رقم جدا نشان داد.

من گشتم ولی جواب خودم را پیدا نکردم.

من می خواهم "label1.text="123456 قرار دهم در page load و می خواهم دستوری بنویسم که آن را از سمت راست سه رقم سه رقم جدا کند حالا یا با (.) نقطه یا با (،) ویرگول

ولی فقط فرمت آن این جوری شود چون بعدا می خواهم آن را در دیتا بیس save کنم نمی خواهم 123،456 یا 123.456 save شود می خواهم همان 123456 save شود
ولی هنگام نمایش فقط سه رقم سه رقم جدا شود

با تشکر

m.hamidreza
چهارشنبه 16 آبان 1386, 12:41 عصر
مهندس بهروز کبیر این کد رو قبلا با javascript نوشتن !

anubis_ir
چهارشنبه 16 آبان 1386, 13:56 عصر
برای نمایش از تابع فرمت (String.Format) استفاده کنید به همراه

{0:n0}

JackJumper.Net
چهارشنبه 16 آبان 1386, 15:15 عصر
سلام
دوستان که پاسخ می دهند همه استاد هستند و در سطح بالا جواب میدهند.
من هنوز جواب سئوالم رو پیدا نکردم، اگر میشه کدش را بنویسید کامل که من تست کنم
کد را از اینجا شروع کنید

Label1.text="123456"
بقیش چی بنویسم ؟

merlin_vista
چهارشنبه 16 آبان 1386, 16:25 عصر
دوست عزیز این هم کدی که خواسته بودی !

decimal Number;
if (decimal.TryParse(textBox1.Text, out Number))
{
textBox1.Text = string.Format("{0:N0}", Number);
textBox1.SelectionStart = textBox1.Text.Length;
}

JackJumper.Net
چهارشنبه 16 آبان 1386, 17:59 عصر
سلام
از بالا تا پایین هر کدوم از اساتید هرچی گفتند یک دنیا search کردم راجع به حتی همان یک کلمه ای که راهنمایی کردند و امروز جواب سوال را پیدا کردم
که کار می کند حالا اساتید اگر میشود بهتر و یا اصولی تر از این نوشت لطفا بگید


Dim lbycebformat AsString = String.Format("{0:n0}", Int(lbyceb.Text))
lbyceb.Text = lbycebformat

shahab_ksh
چهارشنبه 16 آبان 1386, 19:14 عصر
میتونید از کنترل های ajaxtoolkit هم استفاده کنید

hesam_a110
شنبه 19 آبان 1386, 10:55 صبح
درود به همگی
این کد را قبلا استفاده کردم به من جواب داده



this.lblPrice.Text = String.Format("{0:#,###}",int.Parse( dtTemp.Rows[0]["PPrice"].ToString()));

merlin_vista
شنبه 19 آبان 1386, 13:39 عصر
من از Strin.format برای 3 رقم کردن استفاده میکنم !! حالا میخواهم فقط در Tex box اینگونه نمایش داده شود و در محاسبه ها و در بانک به صورت معمولی ذخیره شود چه کار باید بکنم !!!؟!؟1

JackJumper.Net
دوشنبه 21 آبان 1386, 00:34 صبح
سلام اساتید من سئوال خودم رو تمدید میکنم حالا این دفعه راجع به GridView اومدم تاپیک جدید بنویسم دیدم دوباره دوستان از صفر میخواهند جواب بدن ولی تا اینجا مشکلاتم حل شده اما ادامه :

من اول سئوال کردم که چطور میشه متن یک label رو سه رقم سه رقم با ویرگول جدا کرد که جوابم این بود (حرفه ای ترین دستور و خلاصه و استاندارد بدون کلمه اضافی) :

label1.text = String.Format("{0:n0}", Int(label1.Text))
که جا داره یک توضیح بدم اگر int نوشته نشود دستور کار نمی کند یعنی اول باید مقدار label تبدیل به عدد شود.

سوال دوم من این است :

من یک gridview دارم که کالن آخر مقدار پول را نشان میدهد. گشتم دیدم خدا رو شکر در تنظیمات در کالن قسمتی به نام dataformatstring دارد که به طور مثال خودشم گفته مثلا {0:d} بنویسید. من اومدم کد سه رقم سه رقم که با ویرگول جدا میشه
{0:N0}
را اضافه کردم دیدم کار نمیکنه هرچی بالا و پایین کرم دیدم نشد
گفتم شاید بخاطر نبودن int هست یعنی اول باید کل کالن آخرم که توش مقدار پول مشخص شده را بگم به int تبدیل کنه که بعد دستور formatstring کار کنه نمیدونم شایدم راه دیگه ای داره خلاصه کمک کنید که در گریدویو نیز اعداد سه رقم سه رقم جدا بشوند با همان امکانات خودش چرا وقتی تو dataformatstring کد را مینویسم کار نمیکند ؟

cactuskhan
دوشنبه 21 آبان 1386, 15:02 عصر
.ToString(###,###,###,#00)

همین !

JackJumper.Net
دوشنبه 21 آبان 1386, 20:53 عصر
ممنون خودم فهمیدم چطور تو gridview میشه اعداد زا سه رقم سه رقم جدا کرد یا تاریخ رو مختصر و یا اون جوری که میخوای بنیوسی