Miklix

डायनॅमिक्स एएक्स 2012 मध्ये सर्व दशांशांसह रिअलला स्ट्रिंगमध्ये रूपांतरित करा

प्रकाशित: १६ फेब्रुवारी, २०२५ रोजी १०:४१:२४ AM UTC

या लेखात, मी एक्स ++ कोड उदाहरणासह डायनॅमिक्स एएक्स 2012 मधील सर्व दशांश जतन करताना फ्लोटिंग पॉईंट नंबरला स्ट्रिंगमध्ये कसे रूपांतरित करावे हे स्पष्ट करतो.


हे पान जास्तीत जास्त लोकांना उपलब्ध व्हावे म्हणून इंग्रजीतून मशीन भाषांतरित करण्यात आले आहे. दुर्दैवाने, मशीन भाषांतर अद्याप परिपूर्ण तंत्रज्ञान नाही, त्यामुळे चुका होऊ शकतात. तुम्हाला हवे असल्यास, तुम्ही मूळ इंग्रजी आवृत्ती येथे पाहू शकता:

Convert a Real to String with All Decimals in Dynamics AX 2012

या पोस्टमधील माहिती डायनॅमिक्स एएक्स २०१२ आर ३ वर आधारित आहे. हे इतर आवृत्त्यांसाठी वैध असू शकते किंवा असू शकत नाही.

प्रत्येक वेळी, मला वास्तविक संख्या स्ट्रिंगमध्ये रूपांतरित करणे आवश्यक आहे. सहसा, फक्त ते एसटीआरएफएमटी () कडे पाठविणे पुरेसे असते, परंतु ते कार्य नेहमीच दोन दशांशांपर्यंत फिरते, जे नेहमीच मला हवे नसते.

त्यानंतर संख्या 2 एसटीआर () फंक्शन आहे, जे चांगले कार्य करते, परंतु आपल्याला किती दशांश आणि वर्ण हवे आहेत हे आपल्याला वेळेपूर्वी माहित असणे आवश्यक आहे.

जर आपल्याला फक्त सर्व अंक आणि दशांश असलेल्या संख्येचे स्ट्रिंगमध्ये रूपांतर करायचे असेल तर काय होईल? काही कारणास्तव, ही अशी गोष्ट आहे जी मला नेहमीच गुगलिंग करते कारण हे करणे आश्चर्यकारकपणे अस्पष्ट आहे आणि मी ते इतके क्वचितच करतो की मला सहसा नेमके कसे आठवत नाही - बहुतेक प्रोग्रामिंग भाषांमध्ये, मी अशी अपेक्षा करतो की आपण फक्त रिकाम्या स्ट्रिंगमध्ये वास्तविक संकलित करू शकता, परंतु एक्स ++ त्याचे समर्थन करत नाही.

असो, मला हे करण्याचा सर्वात सोपा मार्ग सापडला आहे तो म्हणजे .नेट कॉल वापरणे. प्रगत फॉरमॅटिंगसाठी पर्यायांसह आणि त्याशिवाय येथे अनेक पर्याय देखील आहेत, परंतु जर आपल्याला फक्त स्ट्रिंगमध्ये वास्तविकतेचे खरोखर सोपे रूपांतर हवे असेल तर हे पुरेसे असेल:

stringValue = System.Convert::ToString(realValue);

जर हा कोड एओएसवर चालवायचा असेल (उदाहरणार्थ बॅच जॉबमध्ये), प्रथम आवश्यक कोड प्रवेश परवानगी सांगणे लक्षात ठेवा. या प्रकरणात आपल्याला .नेट कोडवर कॉल करण्यासाठी सीएलआरइंटरऑप प्रकारच्या इंटरऑपपरवानगीची आवश्यकता असेल, जेणेकरून संपूर्ण कोड उदाहरण असे दिसेल:

new InteropPermission(InteropKind::ClrInterop).assert();
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();

लक्षात ठेवा की ही सोपी प्रणाली::कन्व्हर्ट फंक्शन दशांश बिंदू वर्णाच्या संदर्भात सिस्टमच्या सध्याच्या लोकेशनचा वापर करते. आपल्यासाठी ही समस्या असू शकत नाही, परंतु माझ्यासाठी जो अशा भागात राहतो जिथे दशांश विभाजक म्हणून कालावधीऐवजी कोमा वापरला जातो, उदाहरणार्थ स्ट्रिंग एखाद्या फाईलमध्ये वापरण्याची आवश्यकता असल्यास पुढील प्रक्रियेची आवश्यकता असू शकते जी इतर सिस्टमद्वारे वाचनीय असणे आवश्यक आहे.

ब्लूस्की वर शेअर कराफेसबुक वर शेअर करालिंक्डइन वर शेअर कराटंबलर वर शेअर कराX वर शेअर करालिंक्डइन वर शेअर कराPinterest वर पिन करा

मिकेल बँग क्रिस्टेनसेन

लेखकाबद्दल

मिकेल बँग क्रिस्टेनसेन
मिकेल हे miklix.com चे निर्माता आणि मालक आहेत. त्यांना व्यावसायिक संगणक प्रोग्रामर/सॉफ्टवेअर डेव्हलपर म्हणून २० वर्षांहून अधिक अनुभव आहे आणि सध्या ते एका मोठ्या युरोपियन आयटी कॉर्पोरेशनमध्ये पूर्णवेळ नोकरी करतात. ब्लॉगिंग करत नसताना, ते आपला मोकळा वेळ विविध आवडी, छंद आणि क्रियाकलापांमध्ये घालवतात, जे काही प्रमाणात या वेबसाइटवर समाविष्ट असलेल्या विविध विषयांमध्ये प्रतिबिंबित होऊ शकतात.