Dynamics AX 2012 konvertējiet reālu par virkni ar visām decimāldaļām
Publicēts: 2025. gada 16. februāris 10:40:43 UTC
Pēdējo reizi atjaunināts: 2026. gada 12. janvāris 08:50:52 UTC
Šajā rakstā es paskaidroju, kā Dynamics AX 2012 konvertēt peldošā komata skaitli par virkni, saglabājot visas decimāldaļas, tostarp X++ koda piemēru.
Convert a Real to String with All Decimals in Dynamics AX 2012
Šajā ierakstā sniegtā informācija ir balstīta uz Dynamics AX 2012 R3. Tā var būt vai nebūt derīga citām versijām.
Ik pa laikam man ir jāpārveido reāls skaitlis par virkni. Parasti pietiek ar tā nodošanu strFmt(), bet šī funkcija vienmēr noapaļo līdz divām zīmēm aiz komata, kas ne vienmēr ir tas, ko es vēlos.
Tad vēl ir funkcija num2str(), kas darbojas labi, taču prasa iepriekš zināt, cik decimālzīmju un rakstzīmju vēlaties.
Ko darīt, ja vēlaties skaitli pārvērst virknē ar visiem cipariem un decimāldaļām? Kādu iemeslu dēļ tas mani vienmēr mudina meklēt informāciju Google, jo tas ir pārsteidzoši sarežģīti, un es to daru tik reti, ka parasti neatceros precīzi, kā to izdarīt. Vairumā programmēšanas valodu es sagaidītu, ka reālo skaitli var vienkārši savienot ar tukšu virkni, bet X++ to neatbalsta.
Jebkurā gadījumā, līdz šim vienkāršākais veids, kā to izdarīt, ir izmantot .NET izsaukumu. Arī šeit ir vairākas iespējas, ar un bez papildu formatēšanas opcijām, taču, ja vēlaties vienkārši konvertēt reālo skaitli uz virkni, pietiks ar šo:
Ja šis kods ir jāizpilda AOS (piemēram, pakešuzdevumā), atcerieties vispirms pieprasīt nepieciešamo koda piekļuves atļauju. Šajā gadījumā jums būs nepieciešama InteropPermission ar tipu ClrInterop, lai izsauktu .NET kodu, tāpēc pilns koda piemērs izskatītos apmēram šādi:
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
Ņemiet vērā, ka šī vienkāršā System::Convert funkcija izmanto sistēmas pašreizējo lokalizāciju attiecībā uz decimālzīmi. Jums tā, iespējams, nav problēma, bet man, kurš dzīvo apgabalā, kur kā decimāldaļu atdalītājs tiek izmantots komats, nevis punkts, var būt nepieciešama papildu apstrāde, ja, piemēram, virkne ir jāizmanto failā, kuram jābūt nolasāmam citām sistēmām.
Papildu lasāmviela
Ja jums patika šī ziņa, jums varētu patikt arī šie ieteikumi:
- Dzēsiet juridisko personu (uzņēmuma kontus) programmā Dynamics AX 2012
- SysExtension Framework izmantošana, lai uzzinātu, kuru apakšklasi iemiesot programmā Dynamics AX 2012
- Kā atkārtot Enum elementus no X++ koda programmā Dynamics AX 2012
