rust-lang / rust-lang/rfcs

Float rounding with specified digits

Open
#3,608 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

T-libs
Dominant language
Markdown
Stars
6.6k
Forks
1.7k
Avg merge
16h 14m
Merged PRs (30d)
1

Description

Introduce method round_to_digits(T: u32) for f64 (and f32). Same as f64::round() except that you can specify how many digits you want to round to.

Example use case:

I have the number 12.34567 and I want to round it to 12.35. Current f64::round() requires a verbose/less-readable/bug-prone workaround:

let full_float = 12.34567;
let rounded_float = (full_float * 100.0).round() / 100.0;
assert_eq!(rounded_float, 12.35);

The proposed method round_to() would simplify the above to:

let rounded_float = 12.34567.round_to_digits(2);
assert_eq!(rounded_float, 12.35);

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the requested f64 and f32 method and the examples in the issue; no source file or test is named. A complete contribution would first settle the rounding API and behavior for specified digits, then document the proposal through the Rust RFC repository process.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.