PDA

View Full Version : جدا کردن ارقام



saeedzx
سه شنبه 20 مرداد 1388, 12:42 عصر
سلام مي دوني چه جوري ميشه توي تکست 3 رقم 3 رقم جدا کرد

mmssoft
سه شنبه 20 مرداد 1388, 13:53 عصر
می تونید از تابع FormatNumber استفاده کنید.
مثلا کد زیر اعداد تکست باکس 1 رو سه رقم سه رقم جدا می کنه و در تکست باکس 2 نشون میده.


Text2.Text = FormatNumber(Text1.Text)

butterfly8528
سه شنبه 20 مرداد 1388, 17:48 عصر
سلام .


Text1.Text = Format$(Text1.Text, "###,###")
SendKeys "{end}"

mmssoft
چهارشنبه 21 مرداد 1388, 00:05 صبح
سلام .


Text1.Text = Format$(Text1.Text, "###,###")
SendKeys "{end}"


کدی که شما نوشتین همون کدی هست که باهاش تابع FormatNumber تعریف شده. خوب اگه میخواستن شما از این روش استفاده کنید که دیگه این تابع رو تو برنامه تعریف نمی کردن!!!

butterfly8528
چهارشنبه 21 مرداد 1388, 00:16 صبح
نقل قول:
نوشته شده توسط butterfly8528 http://barnamenevis.org/forum/images/buttons/viewpost.gif (http://barnamenevis.org/forum/showthread.php?p=778614#post778614)
سلام .

کد:
Text1.Text = Format$(Text1.Text, "###,###")SendKeys "{end}"


کدی که شما نوشتین همون کدی هست که باهاش تابع FormatNumber تعریف شده. خوب اگه میخواستن شما از این روش استفاده کنید که دیگه این تابع رو تو برنامه تعریف نمی کردن!!!


دوست عزیز چه ربطی داشت !!! قرار نیست که برای انجام یک کار فقط یک راه وجود داشته باشه !!!

تابع Format هم از توابع داخلی ویبی هست .

لطفا از ایجاد پست های بی محتوی و بیهوده پرهیز کنید .

saeedzx
چهارشنبه 21 مرداد 1388, 10:39 صبح
دوستان بسار متشکرم از راهنمایی هاتون

اما یک سوال من این کد ها رو این فرمی استفاده کردم





Text1.Text = Format$(Text1.Text, "###,###")
Text1.Text = FormatNumber(Text1.Text)

حالا من این هار ور در رویداد Change قرار دادم ولی
مثلاً وارد میکنم 2500 می نویسه 2,500 وای با وارد کردن رقم بعد می نویسه2,502,500 من 2500 را 2 بار نوشتم این فرمی نشون داد

mmssoft
چهارشنبه 21 مرداد 1388, 11:08 صبح
دوستان بسار متشکرم از راهنمایی هاتون

اما یک سوال من این کد ها رو این فرمی استفاده کردم



Text1.Text = Format$(Text1.Text, "###,###")
Text1.Text = FormatNumber(Text1.Text)

حالا من این هار ور در رویداد Change قرار دادم ولی
مثلاً وارد میکنم 2500 می نویسه 2,500 وای با وارد کردن رقم بعد می نویسه2,502,500 من 2500 را 2 بار نوشتم این فرمی نشون داد


اگه شما دوبار 2500 رو توی تکست نوشتین باید اون رو این شکلی نشون بده : 25,002,500.
اگه مثل شکل بالا نشون داده درست عمل کرده چون سه تا سه تا اعداد رو دسته بندی کرده.

powerboy2988
چهارشنبه 21 مرداد 1388, 11:13 صبح
دوستان بسار متشکرم از راهنمایی هاتون

اما یک سوال من این کد ها رو این فرمی استفاده کردم





Text1.Text = Format$(Text1.Text, "###,###")
Text1.Text = FormatNumber(Text1.Text)

حالا من این هار ور در رویداد Change قرار دادم ولی
مثلاً وارد میکنم 2500 می نویسه 2,500 وای با وارد کردن رقم بعد می نویسه2,502,500 من 2500 را 2 بار نوشتم این فرمی نشون داد





بهتره تو رویداد lotfocus کدتونو بنویسید

saeedzx
چهارشنبه 21 مرداد 1388, 11:38 صبح
جناب powerboy2988 (http://barnamenevis.org/forum/member.php?u=22490) ممنون از راهنماییت
اما یک مشکل دیگه
من میخوام یک text رو با این text جمع ببندم
مثلاً 2,500
را با 100 جمع ببندم
مینویسه 102 چرا ؟؟؟؟؟

HjSoft
چهارشنبه 21 مرداد 1388, 11:55 صبح
شايد اين كمكت بكنه ، خودم دقيقا از همين استفاده مي كنم و مشكلي هم تا به حال نداشتم . البته براي جمع هنوز تست نكردم . در ضمن شما ميتونيد از Masked هم استفاده كنيد .

Private Sub Text5_Change()
On Error Resume Next
Text5.Text = Format(Text5.Text, "###,###,###"): SendKeys ("{End}")
End Sub

saeedzx
چهارشنبه 21 مرداد 1388, 13:12 عصر
wolf-sky (http://barnamenevis.org/forum/member.php?u=39205) مشکلم بازم حل نشد ؟ تو جمع کردن جواب نمیده

powerboy2988
چهارشنبه 21 مرداد 1388, 13:27 عصر
text3 = Format$(val(trim(text1)),"###") + Format$(val(trim(text2)),"###")

xxxxx_xxxxx
چهارشنبه 21 مرداد 1388, 13:27 عصر
من میخوام یک text رو با این text جمع ببندم
مثلاً 2,500
را با 100 جمع ببندم
مینویسه 102 چرا ؟؟؟؟؟

درواقع بايد ارور دريافت كنيد اما از اونجايي كه type casting تو VB به طور خودكار انجام ميشه ارور نميده و تا اونجايي كه ميتونه رشته رو به عدد تبديل ميكنه. يعني رشته 2,500 از نظر عددي داراي ارزش 2 هست چون كاراكتر كاما عدد نيست و عمل type cast متوقف ميشه. پس اين طبيعي هست.

اما براي رفع اين مشكل شما بايد كاراكترهاي غير عددي رو حذف كنيد بعد عمل جمع رو انجام بديد. به اين صورت:


num1 = Replace(Text1.Text, ",", "")
num2 = Replace(Text2.Text, ",", "")
Text3.Text = Val(num1) + Val(num2)
و به صورت خلاصه:


Text3.Text = Val(Replace(Text1.Text, ",", "")) + Val(Replace(Text2.Text, ",", ""))
موفق باشيد/