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