Sorting number string in ruby -
मेरे पास दो अलग-अलग संख्याएं हैं:
"103" और
"11"
irb में:
2.1.1: 005 & gt; "11" & gt; "103" = & gt; सही 2.1.1: 006 & gt; "11" & lt; "103" = & gt; गलत ऐसा क्यों होता है? मैं समझता हूं कि प्रत्येक स्ट्रिंग के लिए मैं .to_i में जा सकता हूं, लेकिन यदि यह एक रेल क्वेरी है जहां स्तंभ प्रकार स्ट्रिंग है, तो मैं इसके बारे में कुछ भी कर सकता हूं? स्ट्रिंग्स को सॉर्ट किया गया है जिसका अर्थ है कि "1" "0" के बाद आता है, और "103" पहले आता है। "11", और "1122344" से पहले और "1 बीसी" से पहले।
आप स्ट्रिंग्स की तुलना नहीं कर सकते, जैसे कि वे संख्याएं हैं, आपको उन्हें ऐसा करने से पहले संख्याओं को पार्स करने की आवश्यकता है।
एकमात्र तरीका मैं सोच सकता हूँ, यह सुनिश्चित करने के लिए कि वे स्ट्रिंग में बदल जाने से पहले पर्याप्त शून्य के साथ गुदगुदी हो जाएं: "000103", "000011" ...
Comments
Post a Comment