3 releases

0.1.5 Oct 6, 2024
0.1.4 Oct 7, 2023
0.1.0 Oct 7, 2023

#651 in Encoding

Download history 156/week @ 2024-10-02 31/week @ 2024-10-09 3/week @ 2024-10-16 1/week @ 2024-11-13 2/week @ 2024-12-04 6/week @ 2024-12-11

165 downloads per month
Used in auburn

MIT/Apache

19KB
270 lines

round-to

Round floating point to integer.

Usage

You can round to i32 and i64 explicitly:

use round_to::*;

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

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

use round_to::*;

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

using these modes:

use round_to::*;

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

Implementation

Rounding is implemented using round_ties_even. Floor and ceil use floor and ceil. Values are then converted to target integer type using as.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0 https://www.apache.org/licenses/LICENSE-2.0 or the MIT license https://opensource.org/licenses/MIT, at your option.

No runtime deps