Arrotondamento dei numeri

Rust:
Arrotondamento dei numeri

Come fare:

Rust rende l’arrotondamento un gioco da ragazzi. Dai un’occhiata a questi metodi per i tipi f32 o f64:

fn main() {
    let num = 2.34567;

    // Arrotonda al numero intero più vicino
    let round = num.round();
    println!("Arrotondato: {}", round); // Arrotondato: 2

    // Floor - il più grande intero minore o uguale al numero
    let floor = num.floor();
    println!("Floor: {}", floor); // Floor: 2

    // Ceil - il più piccolo intero maggiore o uguale al numero
    let ceil = num.ceil();
    println!("Ceil: {}", ceil); // Ceil: 3

    // Truncate - parte intera senza cifre frazionarie
    let trunc = num.trunc();
    println!("Troncato: {}", trunc); // Troncato: 2

    // Al multiplo più vicino di una potenza di dieci
    let multiple_of_ten = (num * 100.0).round() / 100.0;
    println!("Arrotondato a 2 cifre decimali: {}", multiple_of_ten); // Arrotondato a 2 cifre decimali: 2.35
}

Approfondimento

Storicamente, l’arrotondamento è stato cruciale per adattare decimali infiniti o numeri irrazionali in spazi digitali limitati — un must per gli antichi computer con memoria scarsa. Pensate all’abaco ma meno artigianale, più matematico.

Alternative ai metodi nativi di Rust includono:

  1. la macro format! per la formattazione delle stringhe che arrotonda per default.
  2. Crate esterni per compiti matematici specializzati, come il crate round con controllo più granulare.

Sotto il cofano, le operazioni di arrotondamento di Rust sono conformi agli standard IEEE — gergo tecnico per “arrotonda come vuole il tuo insegnante di matematica”. Inoltre, a causa delle rappresentazioni binarie, alcuni numeri non possono essere arrotondati tradizionalmente, come lo 0,1, a causa della loro rappresentazione infinita in binario.

Vedi Anche