Самый простой способ округления - приведение к типу назначения: Представьте, что вы хотите округлить 2,3 до целого числа root, затем вы делаете:
return (int) 2.3;
Итак, в общем, вы делаете:
return (destination_type) x;
Однако здесь у вас есть проблема что вы всегда округляете в меньшую сторону, как вы можете видеть в этом примере 2.7:
return (int) 2.7;
=> yields 2
Если вы хотите округлить до ближайшего, вам нужно добавить 0,5, а затем округлить:
return (int) (2.7 + 0.5);
=> yields 3
Итак, если вы хотите округлить до любого типа назначения, используя ближайшее округление, вам нужно:
return (destination_type) (x + 0.5);