behnam_tr 172 ارسال شده در 18 اردیبهشت، ۱۳۹۷ اشتراک گذاری ارسال شده در 18 اردیبهشت، ۱۳۹۷ سلام دوستان یه مشکلی دارم خیلی سرچ کردم به جایی نرسیدم من یه تابع میخوام که مثل تابع rnd که در بازه دو عدد یک عدد تصادفی برگردونه منتها چون اعداد من بزرگ هستن (10 رقمی) تابع rnd که برای اعداد integer هست جواب نمیده کسی میتونه راهنمایی کنه مثال : عدد اول 4650000000 عدد دوم 4669999999 میخام بین این دو عدد یک عدد تصادفی انخاب کنه و برگردونه ممنون لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 18 اردیبهشت، ۱۳۹۷ اشتراک گذاری ارسال شده در 18 اردیبهشت، ۱۳۹۷ سلام یه راهش برای مثال شما باهمین دستور Rnd ، اینه که اونا رو تبدیل به رشته بکنید و نصف نصف رندومشونو بگیرید بعد پشت سرهم بچینید و رشته رو تبدیل به عدد ازنوع long کنید ، حالا عدد خیلی بزرگتر شد که سه یا چهارقسمت یابیشتربه تناسب عدد integer بکنیدش. این نمونه رو براتون نوشتم: Dim a As Long Dim b As Long a= 4650000000 b= 4669999999 Dim a_c As String Dim b_c As String Dim aa1_c As String Dim bb1_c As String Dim aa2_c As String Dim bb2_c As String a_c = a b_c=b aa1_c=a_c.SubString2(0,(a_c.Length/2)) aa2_c=a_c.SubString2((a_c.Length/2),(a_c.Length)) bb1_c=b_c.SubString2(0,(b_c.Length/2)) bb2_c=b_c.SubString2((b_c.Length/2),(b_c.Length)) Log("بخش اول عدد اولی :"&aa1_c) Log("بخش دوم عدد دومی: "&aa2_c) Log("بخش اول عدد دومی : "&bb1_c) Log("بخش دوم عدد دومی: "& bb2_c) Log("رندوم بخش اول دوعدد: "&Rnd (aa1_c,bb1_c)) Log("رندوم بخش دوم دوعدد: "&Rnd (aa2_c,bb2_c)) Dim rnd_ab1 As String Dim rnd_ab2 As String Dim rnd_ab As String rnd_ab1 =Rnd (aa1_c,bb1_c) rnd_ab2=Rnd (aa2_c,bb2_c) rnd_ab= rnd_ab1&rnd_ab2 Log("rnd-string: "&rnd_ab) Dim rnd_ab_int As Long rnd_ab_int=rnd_ab Log("rnd-Long: "&rnd_ab_int) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
behnam_tr 172 ارسال شده در 18 اردیبهشت، ۱۳۹۷ سازنده اشتراک گذاری ارسال شده در 18 اردیبهشت، ۱۳۹۷ ممنون راه حل جالبی بود فعلا کارم با عداد long درست چون اختلاف بین دو عددم در محدوده اعداد int بود با ارایه و اینا کارم درست شد اینم کد نمونه برای استفاده دوستان Sub rnd2(min1 As Long,max1 As Long) As Long Dim t,num2 As Long=0 Dim num As Int=0 Log(min1) Log (max1) t=max1-min1 Dim ar(t) As Long For i=0 To t-1 ar(i)=min1+i Next num=Rnd(0,t) num2=ar(num) Return num2 End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
behnam_tr 172 ارسال شده در 18 اردیبهشت، ۱۳۹۷ سازنده اشتراک گذاری ارسال شده در 18 اردیبهشت، ۱۳۹۷ در 19 ساعت قبل، نورنما گفته است : سلام یه راهش برای مثال شما باهمین دستور Rnd ، اینه که اونا رو تبدیل به رشته بکنید و نصف نصف رندومشونو بگیرید بعد پشت سرهم بچینید و رشته رو تبدیل به عدد ازنوع long کنید ، حالا عدد خیلی بزرگتر شد که سه یا چهارقسمت یابیشتربه تناسب عدد integer بکنیدش. این نمونه رو براتون نوشتم: Dim a As Long Dim b As Long a= 4650000000 b= 4669999999 Dim a_c As String Dim b_c As String Dim aa1_c As String Dim bb1_c As String Dim aa2_c As String Dim bb2_c As String a_c = a b_c=b aa1_c=a_c.SubString2(0,(a_c.Length/2)) aa2_c=a_c.SubString2((a_c.Length/2),(a_c.Length)) bb1_c=b_c.SubString2(0,(b_c.Length/2)) bb2_c=b_c.SubString2((b_c.Length/2),(b_c.Length)) Log("بخش اول عدد اولی :"&aa1_c) Log("بخش دوم عدد دومی: "&aa2_c) Log("بخش اول عدد دومی : "&bb1_c) Log("بخش دوم عدد دومی: "& bb2_c) Log("رندوم بخش اول دوعدد: "&Rnd (aa1_c,bb1_c)) Log("رندوم بخش دوم دوعدد: "&Rnd (aa2_c,bb2_c)) Dim rnd_ab1 As String Dim rnd_ab2 As String Dim rnd_ab As String rnd_ab1 =Rnd (aa1_c,bb1_c) rnd_ab2=Rnd (aa2_c,bb2_c) rnd_ab= rnd_ab1&rnd_ab2 Log("rnd-string: "&rnd_ab) Dim rnd_ab_int As Long rnd_ab_int=rnd_ab Log("rnd-Long: "&rnd_ab_int) ممون کارم با این تابع را افتاد خیلی متشکر لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
behnam_tr 172
سلام دوستان
یه مشکلی دارم خیلی سرچ کردم به جایی نرسیدم
من یه تابع میخوام که مثل تابع rnd که در بازه دو عدد یک عدد تصادفی برگردونه
منتها چون اعداد من بزرگ هستن (10 رقمی) تابع rnd که برای اعداد integer هست جواب نمیده
کسی میتونه راهنمایی کنه
مثال :
عدد اول 4650000000
عدد دوم 4669999999
میخام بین این دو عدد یک عدد تصادفی انخاب کنه و برگردونه
ممنون
لینک ارسال
به اشتراک گذاری در سایت های دیگر
3 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.