#round #integer #int #rounding #floating-point

yanked round_to_int

Round floating point to integer

3 releases

0.1.3 Oct 7, 2023
0.1.2 Oct 7, 2023
0.1.1 Oct 7, 2023
0.1.0 Oct 7, 2023

#13 in #rounding

MIT/Apache

19KB
283 lines

round_to_int

Round floating point to integer.

Usage

You can round to i32 and i64 explicitly:

use round_to_int::*;

assert_eq!(0.4.round_to_i32(), 0);
assert_eq!(0.5.round_to_i64(), 1);

or implicitly to i8, i16, i32, i64, i128, isize, u8, u16, u32, u64, u128, or usize:

use round_to_int::*;

let a: i8 = 0.4.round_to();
assert_eq!(a, 0);

using these modes:

use round_to_int::*;

assert_eq!(0.5.round_to_i32(), 1);
assert_eq!(0.5.floor_to_i32(), 0);
assert_eq!(0.5.ceil_to_i32(), 1);

Implementation

As of now, everything is implemented using round, floor, and ceil. When round_ties_even is resolved, this crate will elect to use it instead.

In the future, optimized implementations may be added.

No runtime deps