Փոխարկել իրականը լարում բոլոր decimals հետ Դինամիկայում AX 2012
Հրապարակվել է՝ 16 փետրվարի, 2025 թ., 10:46:35 UTC
Վերջին թարմացումը՝ 12 հունվարի, 2026 թ., 08:52:42 UTC
Այս հոդվածում ես բացատրում եմ, թե ինչպես Dynamics AX 2012-ում լողացող կետային թիվը վերածել տողի՝ պահպանելով բոլոր տասնորդական նիշերը, ներառյալ X++ կոդի օրինակը։
Convert a Real to String with All Decimals in Dynamics AX 2012
Այս գրառման մեջ տեղեկատվությունը հիմնված է Dynamics AX 2012 R3-ի վրա: Այն կարող է վավեր լինել կամ չլինել այլ տարբերակների համար:
Ժամանակ առ ժամանակ ես պետք է իրական թիվը վերածեմ տողի։ Սովորաբար, պարզապես այն strFmt() ֆունկցիային փոխանցելը բավարար է, բայց այդ ֆունկցիան միշտ կլորացնում է մինչև երկու տասնորդական նիշ, ինչը միշտ չէ, որ ես ուզում եմ։
Այնուհետև կա num2str() ֆունկցիան, որը լավ է աշխատում, բայց պահանջում է, որ դուք նախապես իմանաք, թե քանի տասնորդական նիշ և նիշ եք ուզում։
Ի՞նչ անել, եթե ուզում եք, որ թիվը պարզապես վերածվի տողի՝ բոլոր թվանշաններով և տասնորդականներով։ Ինչ-ինչ պատճառներով սա այն բանն է, որը միշտ ստիպում է ինձ Google-ում որոնել, քանի որ զարմանալիորեն անհասկանալի է, և ես դա այնքան հազվադեպ եմ անում, որ սովորաբար չեմ կարողանում հիշել, թե ինչպես։ Ծրագրավորման լեզուների մեծ մասում ես կսպասեի, որ դուք կարող եք պարզապես իրական թիվը միացնել դատարկ տողի, բայց X++-ը դա չի աջակցում։
Ամեն դեպքում, սա անելու ամենահեշտ ձևը, որը ես գտել եմ, .NET կանչի օգտագործումն է: Այստեղ նույնպես կան բազմաթիվ տարբերակներ՝ առաջադեմ ձևաչափման տարբերակներով և առանց դրանց, բայց եթե դուք պարզապես ցանկանում եք իրական թիվը տողի շատ պարզ փոխակերպել, սա բավարար կլինի.
Եթե այս կոդը պետք է աշխատեցվի AOS-ի վրա (օրինակ՝ խմբային աշխատանքի ժամանակ), մի մոռացեք նախ հաստատել կոդին մուտք գործելու անհրաժեշտ թույլտվությունը: Այս դեպքում ձեզ անհրաժեշտ կլինի ClrInterop տիպի InteropPermission՝ .NET կոդը կանչելու համար, ուստի ամբողջական կոդի օրինակը կունենա մոտավորապես հետևյալ տեսքը՝
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
Հաշվի առեք, որ այս պարզ System::Convert ֆունկցիան օգտագործում է համակարգի ընթացիկ տեղայնացումը տասնորդական կետի նկատմամբ: Սա կարող է խնդիր չլինել ձեզ համար, բայց ինձ համար, ով ապրում է մի տարածքում, որտեղ տասնորդական բաժանարարի համար կետի փոխարեն օգտագործվում է ստորակետ, այն կարող է լրացուցիչ մշակման կարիք ունենալ, եթե, օրինակ, տողը պետք է օգտագործվի այնպիսի ֆայլում, որը պետք է կարդացվի այլ համակարգերի կողմից:
Լրացուցիչ ընթերցանություն
Եթե ձեզ դուր եկավ այս գրառումը, ձեզ կարող են նաև դուր գալ այս առաջարկները.
- String Ֆորմատավորում Macro-ով եւ strFmt-ով Դինամիկայում AX 2012
- Օգտագործումը հարցումը SysOperation Data Contract Class in Dynamics AX 2012
- Dynamics AX 2012 SysOperation Framework Արագ ակնարկ
