Miklix

Ngonversi Real menyang String karo Kabeh Desimal ing Dynamics AX 2012

Diterbitake: 16 Februari 2025 ing 10:41:30 UTC
Dianyari pungkasan: 12 Januari 2026 ing 08:52:39 UTC

Ing artikel iki, aku nerangake carane ngonversi angka floating point dadi string nalika njaga kabeh desimal ing Dynamics AX 2012, kalebu conto kode X++.


Kaca iki diterjemahake mesin saka basa Inggris supaya bisa diakses dening akeh wong. Sayange, terjemahan mesin durung dadi teknologi sing sampurna, mula kesalahan bisa kedadeyan. Yen sampeyan seneng, sampeyan bisa ndeleng versi Inggris asli ing kene:

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

Informasi ing kiriman iki adhedhasar Dynamics AX 2012 R3. Iki bisa uga valid utawa ora valid kanggo versi liyane.

Saben-saben, aku kudu ngowahi angka nyata dadi string. Biasane, mung ngirim menyang strFmt() wae wis cukup, nanging fungsi kasebut mesthi dibulatke dadi rong desimal, sing ora mesthi dakkarepake.

Banjur ana fungsi num2str(), sing pancen bisa digunakake kanthi apik, nanging sampeyan kudu ngerti luwih dhisik pira desimal lan karakter sing dikarepake.

Kepiye yen sampeyan mung pengin angka kasebut diowahi dadi string, kanthi kabeh digit lan desimal? Amarga sawetara alesan, iki minangka perkara sing tansah nggawe aku nggoleki ing Google amarga pancen angel ditindakake lan aku arang banget nindakake nganti biasane aku ora kelingan persis kepiye - ing umume basa pamrograman, aku ngarepake sampeyan mung bisa nggabungake angka nyata dadi string kosong, nanging X++ ora ndhukung kuwi.

Ngomong-ngomong, cara paling gampang sing tak temokake kanggo nindakake iki yaiku nggunakake panggilan .NET. Ana pirang-pirang pilihan ing kene uga, nganggo lan tanpa pilihan kanggo format lanjut, nanging yen sampeyan mung pengin konversi nyata dadi string sing gampang banget, iki wis cukup:

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

Yen kode iki arep dilakokake ing AOS (contone ing tugas batch), elinga kanggo negesake ijin akses kode sing dibutuhake dhisik. Ing kasus iki, sampeyan butuh InteropPermission jinis ClrInterop kanggo nelpon kode .NET, mula conto kode lengkap bakal katon kaya iki:

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

Elinga yen fungsi System::Convert sing prasaja iki nggunakake lokal sistem saiki gegayutan karo karakter titik desimal. Iki bisa uga ora dadi masalah kanggo sampeyan, nanging kanggo aku sing manggon ing wilayah sing nggunakake koma tinimbang titik minangka pemisah desimal, bisa uga mbutuhake pangolahan luwih lanjut yen string contone kudu digunakake ing file sing kudu bisa diwaca dening sistem liyane.

Wacan Salajengipun

Yen sampeyan seneng karo kiriman iki, sampeyan bisa uga seneng saran iki:


Nuduhake ing BlueskyNuduhake ing FacebookNuduhake ing LinkedInNuduhake ing TumblrNuduhake ing XNuduhake ing LinkedInPin ing Pinterest

Mikkel Christensen

Babagan Penulis

Mikkel Christensen
Mikkel minangka pencipta lan pemilik miklix.com. Dheweke duwe pengalaman luwih saka 20 taun minangka programmer komputer / pangembang piranti lunak profesional lan saiki kerja full-time kanggo perusahaan IT Eropa sing gedhe. Nalika ora ngeblog, dheweke mbuwang wektu luang kanggo macem-macem minat, hobi, lan kegiatan, sing bisa uga katon ing macem-macem topik sing dibahas ing situs web iki.