मैं एक ऐसा एप्लीकेशन लिख रहा हूं जिसके लिए निकटतम 'अच्छा' नंबर पर गोल करने वाले लेबल की आवश्यकता है। मैं इसे प्रदर्शित करने के लिए नीचे कुछ कोड डालूंगा, लेकिन मेरी समस्या यह है कि मैं इस नंबर को खोजने के लिए किसी अन्य श्रृंखला का उपयोग कर रहा था लेकिन मुझे ऊपरी सीमा के बारे में सुनिश्चित नहीं हो सकता है, इसलिए यह वास्तव में एक अच्छी रणनीति नहीं है। क्या कोई ज्ञात एल्गोरिदम या संसाधन हैं जो मेरी मदद कर सकते हैं?निकटतम अच्छी संख्या
if (diff <= 1) {
roundAmount = 0.2;
} else if (diff <= 5) {
roundAmount = 1;
} else if (diff <= 10) {
roundAmount = 2;
} else if (diff <= 25) {
roundAmount = 5;
} else if (diff <= 50) {
roundAmount = 10;
} else if (diff <= 100) {
roundAmount = 20;
} else if (diff <= 250) {
roundAmount = 50;
} else if (diff <= 500) {
roundAmount = 100;
} else if (diff <= 1000){
roundAmount = 200;
} etc...
आप केवल एक एल्गोरिथ्म लागू कर सकते हैं अगर आप क्या 'अच्छा' वास्तव में गोलाई * है * के लिए विशिष्ट नियमों को परिभाषित कर सकते हैं। क्या आपके मन में ऐसे नियम हैं? अपने पोस्ट कोड से बताना मुश्किल है। – Qwerky
वह गोल करने का काम कैसे होगा, यानी उन 'अच्छे' संख्या को कैसे परिभाषित किया जा सकता है? उदाहरण के लिए: 51 को 20 तक गोल किया जाएगा ('राउंडअमाउंट' अच्छी संख्या है?) जबकि 50 को 10 तक गोल किया गया है? – Thomas
इस समय इस समय मैं गोल करना अगले उच्चतम संख्या का पांचवां हिस्सा बनना चाहता हूं। एक और स्पष्ट उदाहरण यह हो सकता है कि यदि मेरे पास संख्या 1.2, 1.9, 3.65, 4.1, 4.67 है, तो मुझे 1, 2, 3, 4, 5 पर खींचे गए लेबल चाहिए। – user650309