Avatar ·

Comment arrondir un nombre à virgule flottante à un nombre spécifié de décimales en Rust ?

Bonjour à tous ! Je suis débutant en Rust et j'ai rencontré un problème en travaillant avec des nombres à virgule flottante. J'ai besoin d'arrondir une valeur f64 à un certain nombre de décimales, par exemple à 2 décimales pour afficher un prix en dollars. En Python, j'ai l'habitude d'utiliser `round(3.14159, 2)` et d'obtenir 3.14. En JavaScript, il y a `toFixed(2)`. Mais en Rust, je n'ai rien trouvé de similaire dans la bibliothèque standard. J'ai essayé d'écrire ce code : ```rust fn main() { let price = 19.995; let rounded_price = price.round(); // Cela arrondit à l'entier println!("{}", rounded_price); // Affiche 20 } ``` Mais `round()` arrondit seulement à un nombre entier. J'ai besoin d'arrondir à deux décimales : `19.995 → 20.00` ou `3.14159 → 3.14`. J'ai essayé de multiplier par 100, d'arrondir et de diviser à nouveau, mais j'ai obtenu des résultats étranges à cause des erreurs des nombres à virgule flottante : ```rust fn main() { let price = 19.995; let rounded = (price * 100.0).round() / 100.0; println!("{:.2}", rounded); // Affic