ايران ويج

نسخه‌ی کامل: جدا سازی 3 رقمی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
جدا سازی 3 رقمی اعداد در تکست باکس در وی بی 6 ؟
(۰۳-شهریور-۱۳۹۲, ۱۷:۳۴:۳۷)mabus نوشته است: [ -> ]جدا سازی 3 رقمی اعداد در تکست باکس در وی بی 6 ؟

کد:
Text1.Text = Mid(Text1.Text, 1, 3)
منظور من اینه:
123,456,789,123,456,789
خب همون کدی که آقای ققنونس گذاشت رو بای کل رشته استفاده کنید!
با همون کارتون راه میافته دیگه!!
کد php:
Format "1234546" ,"#,#"
سلام
اول اینکه، من همین دستور رو با تغییر جزیی توی رویداد change از کادرمتن نوشتم:
کد:
Text1 = Format(Text1, "#,#")
Text1.SelStart = Len(Text1)
که کار میکنه! دقیقا مثل دستور زیر:
کد:
Private Sub text1_Change()
text1 = Format(text1, "#,##0")
Text1.SelStart = Len(Text1)
end sub
که کار میکنن تا حدودی... اما عبارت رو روند شده نمایش میدن! و بعد از ممیز رو نشون نمیدن!(البته در حالتی که عبارت به کادر متن فرستاده بشه و تایپ نشه)
مثل این:
کد:
Private Sub Command1_Click()
Text1 = 1234.56
End Sub
که خروجی میشه: 1,235
که من نمیخوام اینطوری باشه.

راه حلی که شما ارائه میدید چیه؟

دوم اینکه، من فکر کردم شاید بدون استفاده از تابع فرمت باشه بهتره، من تا یه جاهایی نوشتم:
کد:
Private Sub Command1_Click()
Dim a As String
Dim b As String
Dim c As String
Dim r As String
Dim kh As String

a = Text1
Do While Len(a) > 3
c = Right(a, 3)
b = b & StrReverse(c) & ","
a = Replace(a, c, "")
Loop
r = b & StrReverse(a)

For i = Len(r) To 1 Step -1
kh = kh & Mid(r, i, 1)
Next

Label1 = kh
End Sub

که این هم کار میکنه اما نه درست! مشکلش هم میدونم کجاست، دستور replace از ابتدا و بدون محدودیت در تعداد، جایگیزینی میکنه
و من نمیدونم چطوری میشه از انتها و با محدودیت 3 کاراکتری حذف بکنه.
به کد نگاه کنید و تجزیه کنید متوجه میشید.

حالا با این شرایط کسی میتونه بیشتر راهنمایی بکنه؟
عزیز از تابع format استفاده کن
[b][size=large] txt.text=format(tet.text,"#,###"([
سلام
dim x as double
x=format(txt.text,"#,###.00")
txt.text=cstr(x)
(۲۷-بهمن-۱۳۹۳, ۲۲:۵۳:۲۹)abbasmohr نوشته است: [ -> ]عزیز از تابع format استفاده کن
[b][size=large] txt.text=format(tet.text,"#,###"([

سلام
به ایرانویچ خوش امدید
لطفا قبل از ارسال پست به تاریخ سوال دقت کنید
در ضمن روش شما قبلا گفته شده توی همین تاپیک
موفق باشید