Dynamics AX 2012 में सभी दशमलवों के साथ रियल को स्ट्रिंग में बदलें
प्रकाशित: 16 फ़रवरी 2025 को 10:41:08 am UTC बजे
आखरी अपडेट: 12 जनवरी 2026 को 8:52:30 am UTC बजे
इस आर्टिकल में, मैं बताता हूँ कि Dynamics AX 2012 में सभी डेसिमल को बचाते हुए एक फ्लोटिंग पॉइंट नंबर को स्ट्रिंग में कैसे कन्वर्ट करें, जिसमें एक X++ कोड उदाहरण भी शामिल है।
Convert a Real to String with All Decimals in Dynamics AX 2012
इस पोस्ट में दी गई जानकारी Dynamics AX 2012 R3 पर आधारित है। यह दूसरे वर्शन के लिए वैलिड हो भी सकती है और नहीं भी।
कभी-कभी, मुझे एक रियल नंबर को स्ट्रिंग में बदलने की ज़रूरत होती है। आमतौर पर, इसे strFmt() में पास करना ही काफ़ी होता है, लेकिन वह फ़ंक्शन हमेशा दो डेसिमल तक राउंड ऑफ़ करता है, जो मैं हमेशा नहीं चाहता।
फिर num2str() फ़ंक्शन है, जो ठीक काम करता है, लेकिन इसके लिए आपको पहले से पता होना चाहिए कि आपको कितने डेसिमल और कैरेक्टर चाहिए।
क्या होगा अगर आप बस नंबर को एक स्ट्रिंग में बदलना चाहते हैं, जिसमें सभी डिजिट्स और डेसिमल हों? किसी वजह से, यह एक ऐसी चीज़ है जिसके लिए मैं हमेशा गूगल करता रहता हूँ क्योंकि यह करना हैरानी की बात है कि मुश्किल है और मैं इसे इतनी कम बार करता हूँ कि मुझे आमतौर पर ठीक से याद नहीं रहता कि कैसे - ज़्यादातर प्रोग्रामिंग लैंग्वेज में, मुझे उम्मीद है कि आप रियल को एक खाली स्ट्रिंग में जोड़ सकते हैं, लेकिन X++ इसे सपोर्ट नहीं करता है।
वैसे, मुझे ऐसा करने का सबसे आसान तरीका .NET कॉल का इस्तेमाल करना लगा है। यहां भी कई ऑप्शन हैं, एडवांस्ड फ़ॉर्मेटिंग के ऑप्शन के साथ और बिना ऑप्शन के, लेकिन अगर आप बस रियल को स्ट्रिंग में बहुत आसान तरीके से बदलना चाहते हैं, तो यह काफ़ी होगा:
अगर इस कोड को AOS पर चलाना है (जैसे बैच जॉब में), तो पहले ज़रूरी कोड एक्सेस परमिशन लेना याद रखें। इस मामले में, .NET कोड को कॉल करने के लिए आपको ClrInterop टाइप के InteropPermission की ज़रूरत होगी, इसलिए पूरा कोड उदाहरण कुछ ऐसा दिखेगा:
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
ध्यान रखें कि यह आसान System::Convert फ़ंक्शन डेसिमल पॉइंट कैरेक्टर के हिसाब से सिस्टम के मौजूदा लोकेल का इस्तेमाल करता है। यह आपके लिए कोई दिक्कत नहीं हो सकती है, लेकिन मेरे लिए जो ऐसे इलाके में रहता है जहाँ डेसिमल सेपरेटर के तौर पर पीरियड के बजाय कॉमा का इस्तेमाल होता है, अगर स्ट्रिंग को किसी ऐसी फ़ाइल में इस्तेमाल करना है जिसे दूसरे सिस्टम पढ़ सकें, तो इसे और प्रोसेस करने की ज़रूरत पड़ सकती है।
अग्रिम पठन
यदि आपको यह पोस्ट पसंद आई हो, तो आपको ये सुझाव भी पसंद आ सकते हैं:
- डायनेमिक्स AX 2012 में X++ कोड से Enum के तत्वों पर पुनरावृति कैसे करें
- Dynamics AX 2012 में AIF सेवा के लिए दस्तावेज़ वर्ग और क्वेरी की पहचान करना
- Dynamics AX 2012 में मैक्रो और strFmt के साथ स्ट्रिंग फ़ॉर्मेटिंग
