Miklix

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

પ્રકાશિત: 16 ફેબ્રુઆરી, 2025 એ 10:46:38 AM UTC વાગ્યે

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


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

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

આ પોસ્ટમાંની માહિતી ડાયનેમિક્સ એએક્સ ૨૦૧૨ આર ૩ પર આધારિત છે. તે અન્ય સંસ્કરણો માટે માન્ય હોઈ શકે છે અથવા ન પણ હોઈ શકે.

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

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

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

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

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

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

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

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

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

મિકેલ બેંગ ક્રિસ્ટેનસેન

લેખક વિશે

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