امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
یه مشکل عجیب تو حلقه
نویسنده پیام
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #1
یه مشکل عجیب تو حلقه
سلام.
من یه حلقه do while ساده درست می کنم.

کد:
Private Sub Command1_Click()
Do While i < 100
Text1.Text = i
Me.Refresh
i = i + 0.1
Loop
End Sub

در کمال تعجب میبینم که i یه عددی شده که نباید بشه مثل 7.136655666
!!!!!!

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۰۲-بهمن-۱۳۸۴, ۱۶:۰۴:۵۷
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
 
دوست من سلام

من اين برنامه رو چك كردم ! مقدار نهايي توي تكست باكس ميشه 99.9999999999986 و مقدار نهايي متغير i ميشه 100.099999999999 . من اون چيزي كه شما گفتي نديدم !! 8O

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۲-بهمن-۱۳۸۴, ۱۶:۲۴:۱۰
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Iron_Fist غایب
مدیر بازنشسته
*****

ارسال‌ها: 1,456
موضوع‌ها: 70
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 109
( 456 تشکر در 134 ارسال )
ارسال: #3
 
چه جوابي از كامپايلر انتظاز داري مگه :?: :!:
۰۲-بهمن-۱۳۸۴, ۱۶:۳۲:۳۵
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #4
 
بنظر شما وقتی به عدد i که صفر هست پشت سر هم 0.1 اضافه کنیم باید همچین عددی بدست بیاد !؟!
باید بشه 0.1 و 0.2 و 0.3 و ... و 4.2 و ... و 5.9و ...
نه عددی مثل 99.9999999999986

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۰۲-بهمن-۱۳۸۴, ۱۹:۲۸:۱۴
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #5
 
خوب عزيز دل من شما متغيرت رو درست تعريف كردي ؟؟ نكردي ؟
شما كه به دقت اعشاري نياز داري اين كد رو اضافه كن بالاي كدت تا اونوقت اون چيزي كه ميخواي بشه :

کد:
Dim i As Currency

:wink:

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۲-بهمن-۱۳۸۴, ۲۰:۳۰:۳۹
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
arashrj آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 511
موضوع‌ها: 30
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 4
( 212 تشکر در 133 ارسال )
ارسال: #6
 
سلام
كدت رو درست كردم ببين همينو ميخواي

کد:
Private Sub Command1_Click()
Do While i < 100
Text1.Text = i
Me.Refresh
i = Val(i) + Val(0.1)
Loop
End Sub

[آرش جعفری]
اگر به دیگران کمک کنید تا به آنچه می خواهند برسند .شما هم می توانید در زندگی به آنچه می خواهید برسید

* کوتاه کردن URL های طولانی

DevJam
۰۲-بهمن-۱۳۸۴, ۲۱:۱۱:۰۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Nerzhul_Arthas آفلاین
كاربر تک ستاره
*

ارسال‌ها: 25
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #7
 
کد:
Private Sub Command1_Click()
Do While i < 100
Text1.Text = i
Me.Refresh
i =round(( i + 0.1)*10 )/10
Loop
End Sub

اینم یه راه.
۰۳-بهمن-۱۳۸۴, ۰۱:۲۳:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #8
 
خیلی ممنون درست شد. حالا کسی میدونه چرا کد اول اشتباه میکرد؟ (متغیر هم از نوع Double تعریف کرده بودم). آقایون arashrj و Nerzhul_Arthas شما هم یه توضیح درمورده اینی که گفتین بدین

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۰۳-بهمن-۱۳۸۴, ۱۵:۳۵:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Nerzhul_Arthas آفلاین
كاربر تک ستاره
*

ارسال‌ها: 25
موضوع‌ها: 2
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 0
( 2 تشکر در 2 ارسال )
ارسال: #9
 
کد:
i =round(( i + 0.1)*10 )/10

این خط میاد به طور مثال i که هست 5.9 رو به 5.999999999999 تبدیل میکنه در حالی که نباید بکنه پس ضرب در 10 میکنه که میشه 59.99999999999 بعد رند میکنه. یعنی میکنه 60 بعد تقسیم بر 10 میکنه میشه 6
۰۳-بهمن-۱۳۸۴, ۱۸:۰۶:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
arashrj آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 511
موضوع‌ها: 30
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 4
( 212 تشکر در 133 ارسال )
ارسال: #10
 
سلام

من در كدم گفتم كه متغيير من از نوع Double هست تا اون ها رو باهم جمع كنه نه اين كه كنار هم بزاره
اگه دقت كرده باشي در ماشين حساب هم براي جمع و تفريق از متغيير Double استفاده ميكنن

اين رو يه تست كن
کد:
Text3.Text = Text1.Text + Text2.Text
درسته در اين كد مقدارهاي Text1 و Text2 رو در كنار هم قرار ميده
حالا اين كد رو ببين
کد:
Text3.Text = Val(Text1.Text) + Val(Text2.Text)

[آرش جعفری]
اگر به دیگران کمک کنید تا به آنچه می خواهند برسند .شما هم می توانید در زندگی به آنچه می خواهید برسید

* کوتاه کردن URL های طولانی

DevJam
۰۳-بهمن-۱۳۸۴, ۱۹:۲۸:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
veyskarami غایب
مدیر بازنشسته
*****

ارسال‌ها: 861
موضوع‌ها: 82
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 477
( 2479 تشکر در 611 ارسال )
ارسال: #11
 
مي خواستي كامپيوتر با اون سرعتي كه داره آروم آروم واست بشماره؟
به جاي loop از يه تايمر استفاده كن

۰۳-بهمن-۱۳۸۴, ۱۹:۳۳:۳۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  مشکل عجیب با adodc rouzbeh_ziafati 1 2,946 ۰۴-تير-۱۳۹۱, ۱۶:۵۸:۰۹
آخرین ارسال: غزل بانو
  مشکل عجیب در وی بی 6 download69 4 3,802 ۲۳-مرداد-۱۳۹۰, ۱۵:۳۸:۵۵
آخرین ارسال: download69
  ساخت ژوشه با حلقه For محمدعلي 5 4,128 ۲۴-اسفند-۱۳۸۸, ۰۰:۵۳:۳۸
آخرین ارسال: 1120
  استفاده از حلقه‌ها در ویژوال بیسیک, انواع و کاربرد آنها Hooks In VB Pedram_HookEx 8 19,498 ۲۷-فروردین-۱۳۸۸, ۲۲:۰۵:۱۰
آخرین ارسال: lord_viper
  مشکل عجیب با فونت ها amin_amin 10 7,804 ۲۱-بهمن-۱۳۸۷, ۰۴:۴۱:۲۰
آخرین ارسال: vz67
  حلقه while amene 2 2,399 ۱۲-شهریور-۱۳۸۷, ۱۱:۵۴:۵۶
آخرین ارسال: yeketaz
  یه سواله عجیب sheveda 8 4,149 ۰۱-خرداد-۱۳۸۵, ۲۲:۵۹:۵۵
آخرین ارسال: Soheilvb
at نوشتن A تا Z با حلقه For shamsoft 5 3,999 ۲۶-اردیبهشت-۱۳۸۵, ۱۹:۰۹:۴۵
آخرین ارسال: shamsoft
  یه سوال در مورد حلقه For shamsoft 14 8,968 ۱۱-دى-۱۳۸۴, ۱۳:۱۳:۰۸
آخرین ارسال: mRizvandi

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS