ورود

View Full Version : round کردن اعداد



nedaei
سه شنبه 15 مهر 1399, 12:51 عصر
باسلام خدمت دوستان
من میخام اعداد رو روند کنم مثلا عدد 1549 بشه 1550 یا عدد 10000 تومان رو که تقسیم به 3 میکنیم جواب میشود 3333/33 که میخام بشود 3330 تومان
برای کم کردن اعداد اعشاری مشکلی ندارم میخام رند بشه عدد
متشکر

ROSTAM2
سه شنبه 15 مهر 1399, 13:05 عصر
با سلام- برای تقسیم صحیح از کاراکتر \ استفاده کنید.

Mahmoud.Afrad
چهارشنبه 16 مهر 1399, 03:49 صبح
الگوریتمش را میگم نوشتنش با خود شما:
عدد را a بنامید
عدد a را تقسیم بر ۱۰ کرده حاصل را b بنامید
باقیمانده تقسیم عدد a بر ۱۰ را بدست آورده و c بنامید
اگر c کوچکتر از ۵ بود آنگاه b را در ۱۰ضرب کرده و d بنامید در غیراینصورت b را با عدد یک جمع کرده و حاصلجمع را در ۱۰ ضرب کنید و آنرا d بنامید.
d نتیجه دلخواه شماست.

the king
چهارشنبه 16 مهر 1399, 06:04 صبح
باسلام خدمت دوستان
من میخام اعداد رو روند کنم مثلا عدد 1549 بشه 1550 یا عدد 10000 تومان رو که تقسیم به 3 میکنیم جواب میشود 3333/33 که میخام بشود 3330 تومان
برای کم کردن اعداد اعشاری مشکلی ندارم میخام رند بشه عدد
متشکر

Dim n = Math.Round(1549 / 10) * 10

Dim m = Math.Round(10000 / 3)

nedaei
چهارشنبه 16 مهر 1399, 11:14 صبح
باسلام وتشکر از شما
متاسفانه عدد رو اونطوری که من میخام رند نمیکنه

nedaei
چهارشنبه 16 مهر 1399, 11:16 صبح
باسلام
طبق الگوریتم شما رفتم ولی جواب همش 0 هست یا من اشتباه نوشتم
البته قسمت باقیمانده تقسیم عدد a یر 10 رو نمی دونستم چطور بدست بیارم که یک چیزی خودم نوشتم فکر کنم اشتباه باشه
اگر لطف بکنید نمونش رو برام بزارید

nedaei
چهارشنبه 16 مهر 1399, 11:18 صبح
الگوریتمش را میگم نوشتنش با خود شما:
عدد را a بنامید
عدد a را تقسیم بر ۱۰ کرده حاصل را b بنامید
باقیمانده تقسیم عدد a بر ۱۰ را بدست آورده و c بنامید
اگر c کوچکتر از ۵ بود آنگاه b را در ۱۰ضرب کرده و d بنامید در غیراینصورت b را با عدد یک جمع کرده و حاصلجمع را در ۱۰ ضرب کنید و آنرا d بنامید.
d نتیجه دلخواه شماست.

باسلام
طبق الگوریتم شما رفتم ولی جواب همش 0 هست یا من اشتباه نوشتم
البته قسمت باقیمانده تقسیم عدد a یر 10 رو نمی دونستم چطور بدست بیارم که یک چیزی خودم نوشتم فکر کنم اشتباه باشه
اگر لطف بکنید نمونش رو برام بزارید

336699
چهارشنبه 16 مهر 1399, 15:35 عصر
باسلام خدمت دوستان
من میخام اعداد رو روند کنم مثلا عدد 1549 بشه 1550 یا عدد 10000 تومان رو که تقسیم به 3 میکنیم جواب میشود 3333/33 که میخام بشود 3330 تومان
برای کم کردن اعداد اعشاری مشکلی ندارم میخام رند بشه عدد
متشکر

Public Function RoundNew(inputNumber As Double) As Double
Dim num As Double = Math.Round(Math.Abs(inputNumber))
Dim m As Integer = num Mod 10
If m > 5 Then
Return num + (10 - m)
Else
Return num - m
End If
End Function

Hossis
جمعه 18 مهر 1399, 07:54 صبح
باسلام خدمت دوستان
من میخام اعداد رو روند کنم مثلا عدد 1549 بشه 1550 یا عدد 10000 تومان رو که تقسیم به 3 میکنیم جواب میشود 3333/33 که میخام بشود 3330 تومان
برای کم کردن اعداد اعشاری مشکلی ندارم میخام رند بشه عدد
متشکر
Dim Round As Integer = Math.Round(1549 / 10) * 10
Dim ceiling As Integer = Math.Ceiling((10000 / 3) / 10) * 10
Dim floor As Integer = Math.Floor((10000 / 3) / 10) * 10
MsgBox("Round 1549= " & Round & vbNewLine & ceiling & vbNewLine & floor)
Console.WriteLine(Round)
Console.WriteLine(ceiling)
Console.WriteLine(floor)
مهم همون سه خط اوله