Programming-Idioms

New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating resource.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
#include <math.h>
int y = (int)floorf(x + 0.5f);
#include <cmath>
int y = static_cast<int>(std::floor(x + 0.5f));
int x = Math.Round(y);
import std.math: round;
int y = cast(int) x.round;
y = x.round();
y = Float.round x
integer :: y

y = nint(x)
import "math"
y := int(math.Floor(x + 0.5))
y = floor (x + 1/2)
var y = Math.round(x);
long y = Math.round(x);
function round(float)
    local int, part = math.modf(float)
    if float == math.abs(float) and part >= .5 then return int+1    -- positive float
    elseif part <= -.5 then return int-1                            -- negative float
    end
    return int
end
function round(float)
    return math.floor(float + .5)
end
$y = (int) round($x);
var
  y: integer;
  x: double;
begin
  y := round(x);
end.
my $y = int($x + 1/2);
y = int(x + 0.5)
y = (x + 1/2r).floor
let y = x.round() as i64;
(define y (round x))