PDA

View Full Version : تبدیل "30000" به "30,000"



Hossis
پنج شنبه 07 آبان 1388, 13:14 عصر
چطور می شه یک رشته عددی رو تجزیه کرد؟ یعنی سه تا سه تا اعداد رو از سمت چپ با ویرگول جدا کرد؟
مثل 30،000،000
فکر کنم معادله اش راحت باشه!

Hossis
پنج شنبه 07 آبان 1388, 13:38 عصر
خودم جوابشو پیدا کردم


Dim u As String = tMblq.Text ' "30000000"
u = u.Replace(" ", "")
If Len(u) < 4 Then Exit Sub
u = FormatCurrency(u, 0, TriState.False, TriState.True, TriState.True)
u = u.Replace("ریال", "")

viper2009
پنج شنبه 07 آبان 1388, 18:44 عصر
سلام دوستم

اگه خدایی نکرده این رشته رو در یک تکست باکسی به نمایش دربیاریم که راست تو چپ شده باشه هیچ گونه خطلایی رخ نمی ده؟

حامد مصافی
پنج شنبه 07 آبان 1388, 18:51 عصر
'جدا کننده
string.format("{0:0,0}", 30000);

'تبدیل رشته شامل جدا کننده به عدد
int.parse ("30,000", ...Any);

Hossis
جمعه 08 آبان 1388, 09:13 صبح
سلام دوستم

اگه خدایی نکرده این رشته رو در یک تکست باکسی به نمایش دربیاریم که راست تو چپ شده باشه هیچ گونه خطلایی رخ نمی ده؟
هیچ فرقی نمی کنه،‌ تکست باکسی که من استفاده و آزمایش کردم، راست به چپ بود. در واقع این تابع به تکست باکس کاری نداره،‌ سرو کارش با رشته عددی هست .
نکته مهم اینه که رشته باید از اول تا آخرش عدد باشه بنابراین وجود کاراکتر هائی نظیر / , و مانند آن باعث خطا در اجرای برنامه می شه

Hossis
جمعه 08 آبان 1388, 09:27 صبح
'جدا کننده
string.format("{0:0,0}", 30000);

این هم خیلی خوب جواب داد، از اون که من نوشتم راحت تر بود.




'تبدیل رشته شامل جدا کننده به عدد

int.parse ("30,000", ...Any);

این کد در وی بی جواب نمی ده ، مربوط به سی شارپ هست. منتها تبدیل رشته به متن مشکل نیست، می توان با استفاده از تابع Replace جدا کننده را حذف کرده و با استفاده ازتابع val اون رو به عدد تبدیل کرد.


Dim Tx As string ="30,000"
dim I as integer =val(tx.replace(",",""))

حامد مصافی
شنبه 09 آبان 1388, 10:02 صبح
این کد در وی بی جواب نمی ده ، مربوط به سی شارپ هست...
کافیه شبه کد رو به این حالت تغییر بدید.


Int32.Parse("30,000", System.Globalization.NumberStyles.Any)

sh2007
شنبه 09 آبان 1388, 10:34 صبح
http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/3680349f-8dac-43b7-94a3-9335834f567b/#a72ddd79-3b07-46eb-8e78-df8a0c8868e7