كيفية تقريب عدد عشري إلى عدد محدد من الأرقام في Rust؟
مرحباً بالجميع! أنا مبتدئ في Rust وواجهت مشكلة أثناء العمل مع الأعداد العشرية. أحتاج إلى تقريب قيمة f64 إلى عدد معين من الأرقام بعد الفاصلة، مثلاً إلى رقمين لعرض السعر بالدولار.
في Python اعتدت استخدام `round(3.14159, 2)` والحصول على 3.14. في JavaScript يوجد `toFixed(2)`. لكن في Rust لم أجد شيئاً مشابهاً في المكتبة القياسية. جربت كتابة هذا الكود:
```rust
fn main() {
let price = 19.995;
let rounded_price = price.round(); // هذا يقرب إلى عدد صحيح
println!("{}", rounded_price); // يطبع 20
}
```
لكن `round()` يقرب فقط إلى عدد صحيح. أحتاج إلى التقريب إلى رقمين: `19.995 → 20.00` أو `3.14159 → 3.14`. جربت الضرب في 100 والتقريب والقسمة مرة أخرى، لكني حصلت على نتائج غريبة بسبب أخطاء الأعداد العشرية:
```rust
fn main() {
let price = 19.995;
let rounded = (price * 100.0).round() / 100.0;
println!("{:.2}", rounded); // يط