View Full Version : بدست آوردن میانگین و گرد کردن عدد
  
Behrouz3363
چهارشنبه 10 اردیبهشت 1399, 13:56 عصر
با سلام خدمت اساتید ، من می خوام یه عدد رو بر 10 تقسیم کنم و جواب رو بصورت نمره دانش آموزی بنویسم مثلا 87/75 تقسیم بر 10 ( 10   /  87.75 ) که جواب اون میشه 8.775 که بر اساس نمرات دانش آموز چون8.77 نمیشه استفاده کرد باید اونو به عدد بالاتر یعنی 9 رند کنه یا اگه بفرض جواب شد 8.24 اونو به 8.25 رند کنه
the king
چهارشنبه 10 اردیبهشت 1399, 15:01 عصر
ویژوال بیسیک کلاسیک تابع گرد کردن به نزدیکترین عدد صحیح داره، Round، و تابع گرد کردن به پایین هم داره، Int و Fix، ولی تابع گرد کردن به بالا نداره که خودمون میسازیم :
Private Function Ceil(ByVal v As Single) As Single
    Ceil = IIf(Fix(v) = v, v, Fix(v) + 1)
End Function
حالا چون 0.25 رو مبنای گرد کردن قرار می دهید و نه 1.0 رو، قبل از گرد کردن به 4 ضرب اش می کنیم و بعد گرد کردن بر 4 تقسیم اش می کنیم :
Private Function Ceil(ByVal v As Single) As Single
    v = v * 4
    Ceil = IIf(Fix(v) = v, v, Fix(v) + 1)
    Ceil = Ceil / 4
End Function
و اینطوری ازش استفاده می کنیم :
    Dim n As Single, m As Single
    m = 87.75 / 10
    n = Ceil(m)
    MsgBox n
    m = 82.4 / 10
    n = Ceil(m)
    MsgBox n
Behrouz3363
یک شنبه 14 اردیبهشت 1399, 08:56 صبح
یه دنیا ممنون ، عالی بود
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.