View source code
Display the source code in std/math/rounding.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Function std.math.rounding.lrint
Rounds x to the nearest integer value, using the current rounding mode.
long lrint
(
real x
) pure nothrow @nogc @trusted;
This is generally the fastest method to convert a floating-point number to an integer. Note that the results from this function depend on the rounding mode, if the fractional part of x is exactly 0.5. If using the default rounding mode (ties round to even integers) lrint(4.5) == 4, lrint(5.5)==6.
Example
writeln(lrint(4.5)); // 4
writeln(lrint(5.5)); // 6
writeln(lrint(-4.5)); // -4
writeln(lrint(-5.5)); // -6
writeln(lrint(int .max - 0.5)); // 2147483646L
writeln(lrint(int .max + 0.5)); // 2147483648L
writeln(lrint(int .min - 0.5)); // -2147483648L
writeln(lrint(int .min + 0.5)); // -2147483648L
Authors
Walter Bright, Don Clugston, Conversion of CEPHES math library to D by Iain Buclaw and David Nadlinger
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.