ورود

View Full Version : بدست آوردن میانگین و گرد کردن عدد



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

the king
چهارشنبه 10 اردیبهشت 1399, 14: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, 07:56 صبح
یه دنیا ممنون ، عالی بود