Miklix

ડાયનેમિક્સ AX 2012 માં બધા દશાંશ સાથેની શબ્દમાળામાં વાસ્તવિકને રૂપાંતર કરો

પ્રકાશિત: 16 ફેબ્રુઆરી, 2025 એ 10:46:38 AM UTC વાગ્યે
છેલ્લે અપડેટ કરેલ: 12 જાન્યુઆરી, 2026 એ 08:52:43 AM UTC વાગ્યે

આ લેખમાં, હું સમજાવું છું કે ડાયનેમિક્સ AX 2012 માં X++ કોડ ઉદાહરણ સહિત, બધા દશાંશને સાચવીને ફ્લોટિંગ પોઈન્ટ નંબરને સ્ટ્રિંગમાં કેવી રીતે રૂપાંતરિત કરવું.


આ પૃષ્ઠ શક્ય તેટલા વધુ લોકો સુધી સુલભ બને તે માટે અંગ્રેજીમાંથી મશીન અનુવાદ કરવામાં આવ્યો હતો. કમનસીબે, મશીન અનુવાદ હજુ સુધી સંપૂર્ણ તકનીક નથી, તેથી ભૂલો થઈ શકે છે. જો તમે ઇચ્છો, તો તમે મૂળ અંગ્રેજી સંસ્કરણ અહીં જોઈ શકો છો:

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

આ પોસ્ટમાં આપેલી માહિતી ડાયનેમિક્સ AX 2012 R3 પર આધારિત છે. તે અન્ય સંસ્કરણો માટે માન્ય હોઈ શકે છે અથવા ન પણ હોઈ શકે.

ક્યારેક ક્યારેક, મારે વાસ્તવિક સંખ્યાને સ્ટ્રિંગમાં રૂપાંતરિત કરવાની જરૂર પડે છે. સામાન્ય રીતે, તેને ફક્ત strFmt() માં પાસ કરવું પૂરતું છે, પરંતુ તે ફંક્શન હંમેશા બે દશાંશ સુધી રાઉન્ડ કરે છે, જે હંમેશા હું ઇચ્છતો નથી.

પછી num2str() ફંક્શન છે, જે સારી રીતે કામ કરે છે, પરંતુ તમારે કેટલા દશાંશ અને અક્ષરો જોઈએ છે તે અગાઉથી જાણવાની જરૂર છે.

જો તમે ફક્ત સંખ્યાને બધા અંકો અને દશાંશ સાથે સ્ટ્રિંગમાં રૂપાંતરિત કરવા માંગતા હોવ તો શું? કોઈ કારણોસર, આ એવી વસ્તુ છે જે મને હંમેશા ગુગલ કરવા મજબૂર કરે છે કારણ કે તે આશ્ચર્યજનક રીતે અસ્પષ્ટ છે અને હું તે એટલું ભાગ્યે જ કરું છું કે મને સામાન્ય રીતે બરાબર યાદ નથી હોતું કે કેવી રીતે - મોટાભાગની પ્રોગ્રામિંગ ભાષાઓમાં, હું અપેક્ષા રાખું છું કે તમે વાસ્તવિકને ખાલી સ્ટ્રિંગ સાથે જોડી શકો છો, પરંતુ X++ તેને સપોર્ટ કરતું નથી.

ગમે તે હોય, આ કરવાનો મને સૌથી સહેલો રસ્તો .NET કોલનો ઉપયોગ કરવાનો મળ્યો છે. અહીં પણ ઘણા બધા વિકલ્પો છે, એડવાન્સ્ડ ફોર્મેટિંગ માટે વિકલ્પો સાથે અને વગર, પરંતુ જો તમે રીઅલનું સ્ટ્રિંગમાં ખરેખર સરળ રૂપાંતર ઇચ્છતા હોવ, તો આ પૂરતું હશે:

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

જો આ કોડ AOS પર ચલાવવાનો હોય (ઉદાહરણ તરીકે બેચ જોબમાં), તો પહેલા જરૂરી કોડ એક્સેસ પરવાનગી લેવાનું યાદ રાખો. આ કિસ્સામાં તમારે .NET કોડને કૉલ કરવા માટે ClrInterop પ્રકારના InteropPermission ની જરૂર પડશે, તેથી સંપૂર્ણ કોડ ઉદાહરણ કંઈક આના જેવું દેખાશે:

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

ધ્યાન રાખો કે આ સરળ System::Convert ફંક્શન દશાંશ બિંદુ અક્ષરના સંદર્ભમાં સિસ્ટમના વર્તમાન લોકેલનો ઉપયોગ કરે છે. તમારા માટે આ સમસ્યા ન હોઈ શકે, પરંતુ મારા માટે હું એવા વિસ્તારમાં રહું છું જ્યાં દશાંશ વિભાજક તરીકે પૂર્ણવિરામને બદલે અલ્પવિરામનો ઉપયોગ થાય છે, જો ઉદાહરણ તરીકે સ્ટ્રિંગનો ઉપયોગ એવી ફાઇલમાં કરવાની જરૂર હોય જે અન્ય સિસ્ટમો દ્વારા વાંચી શકાય તેવી હોવી જોઈએ તો તેને વધુ પ્રક્રિયાની જરૂર પડી શકે છે.

વધુ વાંચન

જો તમને આ પોસ્ટ ગમી હોય, તો તમને આ સૂચનો પણ ગમશે:


બ્લુસ્કી પર શેર કરોફેસબુક પર શેર કરોLinkedIn પર શેર કરોટમ્બલર પર શેર કરોX પર શેર કરોLinkedIn પર શેર કરોPinterest પર પિન કરો

મિકેલ ક્રિસ્ટેનસેન

લેખક વિશે

મિકેલ ક્રિસ્ટેનસેન
મિકેલ miklix.com ના સર્જક અને માલિક છે. તેમને એક વ્યાવસાયિક કમ્પ્યુટર પ્રોગ્રામર/સોફ્ટવેર ડેવલપર તરીકે 20 વર્ષથી વધુનો અનુભવ છે અને હાલમાં તેઓ એક મોટા યુરોપિયન IT કોર્પોરેશનમાં પૂર્ણ-સમય કાર્યરત છે. જ્યારે તેઓ બ્લોગિંગ કરતા નથી, ત્યારે તેઓ પોતાનો ફાજલ સમય વિવિધ રુચિઓ, શોખ અને પ્રવૃત્તિઓ પર વિતાવે છે, જે આ વેબસાઇટ પર આવરી લેવામાં આવેલા વિવિધ વિષયોમાં પ્રતિબિંબિત થઈ શકે છે.