Miklix

Badilisha Real kuwa Mfuatano wenye Desimali Zote katika Dynamics AX 2012

Iliyochapishwa: 16 Februari 2025, 10:41:16 UTC

Katika nakala hii, ninaelezea jinsi ya kubadilisha nambari ya sehemu inayoelea kuwa mfuatano huku nikihifadhi desimali zote katika Dynamics AX 2012, pamoja na mfano wa msimbo wa X++.


Ukurasa huu ulitafsiriwa kwa mashine kutoka kwa Kiingereza ili kuifanya iweze kupatikana kwa watu wengi iwezekanavyo. Kwa bahati mbaya, utafsiri wa mashine bado sio teknolojia iliyokamilishwa, kwa hivyo makosa yanaweza kutokea. Ukipenda, unaweza kutazama toleo asili la Kiingereza hapa:

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

Maelezo katika chapisho hili yanatokana na Dynamics AX 2012 R3. Inaweza au isiwe halali kwa matoleo mengine.

Kila mara baada ya muda fulani, ninahitaji kubadilisha nambari halisi kuwa kamba. Kawaida, kuipitisha tu kwa strFmt() inatosha, lakini kazi hiyo kila wakati huzunguka hadi nambari mbili, ambayo sio kila wakati ninachotaka.

Halafu kuna num2str() kitendakazi, ambacho hufanya kazi vizuri, lakini inahitaji ujue mapema ni desimali na herufi ngapi unazotaka.

Je, ikiwa unataka tu nambari igeuzwe kuwa mfuatano, yenye tarakimu na desimali zote? Kwa sababu fulani, hili ni jambo ambalo huwa linanifanya niingie kwenye Googling kwa sababu ni jambo lisiloeleweka kufanya na mimi huifanya mara chache sana hivi kwamba kwa kawaida siwezi kukumbuka haswa jinsi - katika lugha nyingi za programu, ningetarajia kuwa unaweza kujumuisha ukweli kwa kamba tupu, lakini X++ haiungi mkono hilo.

Hata hivyo, njia rahisi kabisa ambayo nimepata kufanya hivi ni kwa kutumia simu ya .NET. Kuna chaguzi nyingi hapa pia, pamoja na bila chaguzi za umbizo la hali ya juu, lakini ikiwa unataka tu ubadilishaji rahisi wa kweli hadi kamba, hii itatosha:

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

Ikiwa nambari hii itaendeshwa kwenye AOS (kwa mfano katika kazi ya kundi), kumbuka kudai ruhusa muhimu ya ufikiaji wa msimbo kwanza. Katika hali hii utahitaji InteropPermission ya aina ya ClrInterop ili kupiga msimbo wa .NET, ili mfano kamili wa msimbo uonekane hivi:

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

Fahamu kuwa Mfumo huu rahisi::Kitendakazi cha Kubadilisha hutumia lugha ya sasa ya mfumo kwa heshima na herufi ya desimali. Hili linaweza lisiwe suala kwako, lakini kwangu mimi ninayeishi katika eneo ambalo koma hutumika badala ya kipindi kama kitenganishi cha desimali, inaweza kuhitaji usindikaji zaidi ikiwa kamba kwa mfano inahitaji kutumika katika faili ambayo lazima isomwe na mifumo mingine.

Shiriki kwenye BlueskyShiriki kwenye FacebookShiriki kwenye LinkedInShiriki kwenye TumblrShiriki kwenye XShiriki kwenye LinkedInBandika kwenye Pinterest

Mikkel Bang Christensen

Kuhusu Mwandishi

Mikkel Bang Christensen
Mikkel ndiye muundaji na mmiliki wa miklix.com. Ana uzoefu wa zaidi ya miaka 20 kama mtaalamu wa kupanga programu/programu za kompyuta na kwa sasa ameajiriwa muda wote kwa shirika kubwa la IT la Ulaya. Wakati si kublogi, yeye hutumia wakati wake wa ziada kwenye safu nyingi za mapendeleo, vitu vya kufurahisha, na shughuli, ambazo zinaweza kuonyeshwa kwa kadiri fulani katika mada anuwai zinazozungumziwa kwenye wavuti hii.