Logo

Programming-Idioms

  • Pascal
  • Lua
  • C

Idiom #80 Truncate floating point number to integer

Declare integer y and initialize it with the value of floating point number x . Ignore non-integer digits of x .
Make sure to truncate towards zero: a negative x must yield the closest greater integer (not lesser).

int y = (int)x;

The (int) isn't really necessary. The compiler will cast x automatically.
var
  y: integer;
  x: single = -0.8;
begin
  y := trunc(x);
end;
y = math.modf(x)
Y : constant Integer := Integer (Float'Truncation (X));

New implementation...