निम्न त्रुटि उत्पन्न करता है:
int calc_ranks(ranks)
{
double multiplier = .5;
return multiplier * ranks;
}
वापसी प्रकार doubleएक नहीं है int, जैसा कि विधि द्वारा परिभाषित किया गया है calc_ranks। मैं राउंड / कास्ट कैसे करूँ int?
जवाबों:
round()विधि का उपयोग करके इसे गोल करें :
int calc_ranks(ranks) {
double multiplier = .5;
return (multiplier * ranks).round();
}
(0.57 * 100).toInt()हल किया गया था 56, इसलिए, लोग सावधान रहें।
आप बस a को कन्वर्ट करने के लिए toInt () का उपयोग कर सकते हैं ।numint
int calc_ranks(ranks)
{
double multiplier = .5;
return (multiplier * ranks).toInt();
}
ध्यान दें कि बिल्कुल वही काम करने के लिए जिसे आप Truncating Division ऑपरेटर का उपयोग कर सकते हैं :
int calc_ranks(ranks) => ranks ~/ 2;
आप निम्न में से किसी का उपयोग कर सकते हैं।
double d = 20.5;
int i = d.toInt(); // i = 20
int i = d.round(); // i = 21
int i = d.ceil(); // i = 21
int i = d.floor(); // i = 20
डार्ट राउंड डबल टू इंट
round()विधि का उपयोग करते हुए , हम एक पूर्णांक को एक दोहरे के करीब प्राप्त कर सकते हैं।
उदाहरण के लिए:
int num1 = (2.3).round();
// 2
int num2 = (2.5).round();
// 3
int num3 = (-2.3).round();
// -2
int num4 = (-2.5).round();
// -3
आप उन तरीकों को भी आज़मा सकते हैं जो एक फड़फड़ाहट में इंट में डबल कन्वर्ट करते हैं
double x = 2.5;
int a = x.toInt();
int b = x.truncate();
int c = x.round();
int d = x.ceil();
int e = x.floor();
print(a); // 2
print(b); // 2
print(c); // 3
print(d); // 3
print(e); // 2
roundडार्ट में क्या मतलब है के बारे में नहीं था । दूसरा, बाकी चीजें केवल मौजूदा उत्तर से कॉपी की जाती हैं । कृपया एसओ को इस तरह से स्पैम न करें। आप केवल अन्य उत्तरों की नकल कर रहे हैं।