c++

c++

אם נתון לי מספר עשרוני ואני רוצה לעגל אותו למס' השלם הקרוב ביותר, הייתי מעונינת לדעת איך עושים זאת? בתודה מראש
 

ZDanielZ

New member
פשוט מאוד...

פשוט צריך להוסיף חצי למספר, ולזרוק אותו ל int.
float y=0.7; int x = y + 0.5;​
 

nu shoin

New member
לא בדיוק...

השיטה הזאת לא עובדת עבור מספר שלילי. שיטה חלופית: להכפיל פי 2, להפוך ל int, ולחלק ב 2.
float f=-0.7; int x=(int(f*2))/2;​
 

nu shoin

New member
לא,לא

בעצם גם אני טעיתי. כנראה שחייבים if
float f=-0.7; int x=(f>0)?(f+0.5):(f-0.5);​
 
למעלה