2011-03-05 13 views

उत्तर

18

रूबी उन संख्याओं की व्याख्या कर रहा है जिनके पास ऑक्टल (बेस 8) में अग्रणी 0 है। इस प्रकार अंक 8 और 9 मान्य नहीं हैं।

यह शायद अधिक भावना, बजाय संख्या (शून्य जब भी आप इसे प्रदर्शित साथ पैड से बचने के लिए) के रूप में की, इस तरह के रूप में आता है स्ट्रिंग के रूप में ज़िप कोड स्टोर करने के लिए: array = ["07001", "07920"]

+6

आप पहली बार स्ट्रिंग्स की सराहना करेंगे जब आप क्षेत्र में कनाडाई पोस्टल कोड को भरने का प्रयास करेंगे। – jdl

3

आपका सरणी नंबरों की है, इसलिए अग्रणी शून्य इसे ऑक्टल (वैध अंक 0-7) के रूप में व्याख्या करने का कारण बनता है। यदि ये ज़िप कोड हैं, और अग्रणी शून्य महत्वपूर्ण है, तो शायद वे तार हो सकते हैं।

3

0 के साथ शुरू होने वाली संख्याओं को ऑक्टल प्रारूप में माना जाता है, जैसे 0x से शुरू होने वाली संख्या हेक्साडेसिमल प्रारूप में मानी जाती है। ऑक्टल अंक केवल 0 से 7 पर जाते हैं, इसलिए 9 केवल ऑक्टल संख्या में कानूनी नहीं है।

सबसे आसान कामकाज दशमलव प्रारूप में संख्याओं को लिखना होगा: 07001 ऑक्टल में दशमलव में 3585 जैसा है (मुझे लगता है)। या आप दशमलव में संख्या लिखने का मतलब था? फिर, सबसे आसान कामकाज अग्रणी शून्यों को छोड़ना है: 07001 वैसे भी 7001 जैसा ही है।

हालांकि, आप उल्लेख करते हैं कि आप ज़िप कोड की एक सरणी चाहते हैं। उस स्थिति में, सही समाधान का उपयोग पूर्णांक की सरणी के बजाय ज़िप कोड की एक सरणी का उपयोग करना होगा, क्योंकि ज़िप कोड पूर्णांक नहीं हैं, वे ज़िप कोड हैं।

संबंधित मुद्दे