Ngarobih Real kana String sareng Sadaya Desimal dina Dynamics AX 2012

Diterbitkeun: 16 Pébruari 2025 jam 10.47.07 UTC
Panungtungan diropéa: 12 Januari 2026 jam 8.52.46 UTC

Dina tulisan ieu, kuring ngajelaskeun kumaha carana ngarobah angka floating point jadi string bari ngajaga sadaya desimal dina Dynamics AX 2012, kalebet conto kode X++.


Kaca ieu ditarjamahkeun ku mesin tina basa Inggris supados tiasa diaksés ku saloba-lobana jalma. Hanjakalna, tarjamahan mesin henteu acan janten téknologi anu sampurna, janten kasalahan tiasa lumangsung. Upami anjeun hoyong, anjeun tiasa ningali versi Inggris asli di dieu:

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

Inpormasi dina tulisan ieu dumasar kana Dynamics AX 2012 R3. Éta tiasa valid atanapi henteu pikeun vérsi anu sanés.

Sakali-kali, kuring kudu ngarobah angka riil jadi string. Biasana, ngan saukur ngirimkeunana ka strFmt() geus cukup, tapi fungsi éta sok dibulatkeun jadi dua desimal, nu teu salawasna kitu nu kuring pikahayang.

Teras aya fungsi num2str(), anu jalanna saé, tapi meryogikeun anjeun terang sateuacanna sabaraha desimal sareng karakter anu anjeun pikahoyong.

Kumaha upami anjeun ngan ukur hoyong angka éta dirobih janten string, kalayan sadaya angka sareng desimal? Kusabab sababaraha alesan, ieu hal anu sok ngajantenkeun kuring milarian di Google sabab éta anéh hésé dilakukeun sareng kuring jarang ngalakukeun éta sahingga kuring biasana henteu émut persis kumaha - dina kaseueuran basa pamrograman, kuring ngarepkeun anjeun tiasa ngagabungkeun anu asli kana string kosong, tapi X++ henteu ngadukung éta.

Kumaha ogé, cara anu panggampangna anu kuring mendakan pikeun ngalakukeun ieu nyaéta ku cara nganggo panggero .NET. Aya sababaraha pilihan di dieu ogé, kalayan sareng tanpa pilihan pikeun format canggih, tapi upami anjeun ngan ukur hoyong konvérsi anu saderhana tina real ka string, ieu cekap:

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

Upami kode ieu bade dijalankeun dina AOS (contona dina padamelan batch), émut pikeun negeskeun heula idin aksés kode anu diperyogikeun. Dina hal ieu anjeun peryogi InteropPermission tipe ClrInterop pikeun nyauran kode .NET, janten conto kode lengkepna bakal katingali sapertos kieu:

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

Perlu diinget yén fungsi System::Convert anu saderhana ieu nganggo lokal sistem ayeuna anu aya hubunganana sareng karakter titik desimal. Ieu panginten sanés masalah kanggo anjeun, tapi kanggo kuring anu cicing di daérah anu nganggo koma tibatan titik salaku pamisah desimal, éta panginten peryogi pamrosésan salajengna upami string contona kedah dianggo dina file anu kedah tiasa dibaca ku sistem sanés.

Bacaan salajengna

Upami anjeun resep kana tulisan ieu, anjeun ogé tiasa resep saran ieu:


Bagikeun on BlueskyBagikeun dina FacebookBagikeun on LinkedInBagikeun dina TumblrBagikeun harga XPin on PinterestBagikeun on Reddit

Mikkel Christensen

Ngeunaan Pangarang

Mikkel Christensen
Mikkel mangrupikeun panyipta sareng pamilik miklix.com. Anjeunna gaduh pangalaman langkung ti 20 taun salaku programmer komputer / pamekar software profésional sareng ayeuna padamelan full-time pikeun korporasi IT Éropa anu ageung. Nalika henteu ngeblog, anjeunna nyéépkeun waktos luangna dina sajumlah ageung minat, hobi, sareng kagiatan, anu tiasa ditingali dina rupa-rupa topik anu aya dina halaman wéb ieu.