# Native Code > برنامه نویسی در 6 VB > ابزارهای گزارشگیری در VB6 >  بدست آوردن میانگین و گرد کردن عدد

## Behrouz3363

با سلام خدمت اساتید ، من می خوام یه عدد رو بر 10 تقسیم کنم و جواب رو بصورت نمره دانش آموزی بنویسم مثلا 87/75 تقسیم بر 10 ( 10   /  87.75 ) که جواب اون میشه 8.775 که بر اساس نمرات دانش آموز چون8.77 نمیشه استفاده کرد باید اونو به عدد بالاتر یعنی 9 رند کنه یا اگه بفرض جواب شد 8.24 اونو به 8.25 رند کنه

----------


## the king

ویژوال بیسیک کلاسیک تابع گرد کردن به نزدیکترین عدد صحیح داره، 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

یه دنیا ممنون ، عالی بود

----------

