Avatar ·

Rust में संख्यात्मक प्रकारों को सुरक्षित और मुहावरेदार तरीके से कैसे बदलें?

सभी को नमस्कार! मैंने C++ और Python के बाद अभी-अभी Rust सीखना शुरू किया है, और मुझे संख्याओं के रूपांतरण में एक गंभीर समस्या आ रही है। C++ में मैं बस `(int)my_float` या `static_cast(value)` लिखने का आदी था, और सब काम करता था। लेकिन Rust में कंपाइलर लगातार शिकायत करता है। यहाँ एक विशिष्ट स्थिति है: मैं एक प्रोग्राम लिख रहा हूँ जो अंकगणितीय माध्य (average) की गणना करता है। मेरे पास पूर्णांकों का एक vector है, और मुझे परिणाम फ्लोटिंग-पॉइंट संख्या के रूप में चाहिए। ```rust fn average(numbers: &[i32]) -> f64 { let sum: i32 = numbers.iter().sum(); sum / numbers.len() as f64 // यह काम करता है, लेकिन बेढंगा लगता है } ``` यह काम करता है, लेकिन मुझे लगता है कि यह गलत है। इसके अलावा, जब मैं उल्टा रूपांतरण करने की कोशिश करता हूँ — `f64` से `i32` में — तो कंपाइलर त्रुटि देता है कि बस ऐसे ही रूपांतरण नहीं किया जा सकता। उदाहरण के लिए: ```rust let x: f64 = 3.14; let y: i32 = x as i32; // यह काम करता है, लेकिन डेटा खो जाता है ``` मैं समझता हूँ कि Rust सुरक्षा का ध्यान रखता है, लेकिन सही तरीके से कैसे बदलें?

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग