
نوشته شده توسط
afrashteh1
دوستان من يه متغير به نام a از نوع double تعريف كردم ولي وقتي نتيجه محاسبات زير را مي خوام در اين متغير قرار دهم پيغام over flow را ميده
در صورتي كه حاصلش زياد هم نيست
dim a as double
a=365 * 24 * 3600
پيغام خطا :
run time error '6
overflow
با سلام
در واقع علت این خطا مربوط می شه به ضعف عملگر ضرب در VB 6 (البته به اعتقاد من):
شما مستقیماً از عدد در یک عبارت ریاضی استفاده کرده اید و قالبی برای اعداد در نظر نگرفته اید
اعداد شما در رنج integer هستند. تا وقتی حاصلضرب از مقدار integer فراتر نرود، مشکلی نیست اما وقتی حاصلضرب از محدوده integer بالاتر برود، آن وقت است که سریز زخ می دهد.
راه حل :
از متغیر برای تخصیص مقادیر اولیه استفاده کنید:
dim x, y, z as integer
dim a as long
x=365
y=24
z=3600
a=x*y*z
موفق باشید