Miklix

Dynamics AX 2012 дээрх бүх аравтын тоо бүхий бодит утгыг мөр болгон хөрвүүлэх

Нийтэлсэн: 2025 оны гуравдугаар сарын 19 21:34:12 (UTC)

Энэ нийтлэлд би Dynamics AX 2012 дээрх бүх аравтын бутархайг хадгалахын зэрэгцээ хөвөгч цэгийн тоог хэрхэн мөр болгон хөрвүүлэх талаар тайлбарлах болно, үүнд X++ кодын жишээ орно.


Энэ хуудсыг аль болох олон хүнд хүртээмжтэй болгох үүднээс англи хэлнээс орчуулсан. Харамсалтай нь машин орчуулга нь төгс төгөлдөр технологи болоогүй байгаа тул алдаа гарч болзошгүй. Хэрэв та хүсвэл англи хэл дээрх эх хувилбарыг эндээс үзэх боломжтой.

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

Энэ постын мэдээлэл нь Dynamics AX 2012 R3 дээр үндэслэсэн. Энэ нь бусад хувилбаруудад хүчинтэй эсвэл хүчинтэй байж магадгүй.

Заримдаа би бодит тоог строк болгон хөрвүүлэх шаардлагатай болдог. Ихэвчлэн strFmt() функцэд дамжуулах нь хангалттай байдаг ч, энэ функц нь үргэлж хоёр оронтой тоогоор дуусгадаг бөгөөд энэ нь би хүсэж байгаа зүйл биш байж болно.

Дараа нь num2str() функц байдаг бөгөөд энэ нь сайн ажилладаг боловч та хэд хэдэн оронтой ба тэмдэгтүүдийг хэрхэн хүсч байгааг мэдэх хэрэгтэй.

Хэрвээ та зүгээр л тоог строк болгон хөрвүүлэхийг хүсвэл, бүх тоон ба оронтой тоог хадгалах уу? Яагаад гэвэл энэ нь намайг Гүүглд хайх гэж байнга хүргэж байдаг бөгөөд энэ нь гэнэтийн бэрхшээлтэй байдаг, мөн би үүнийг маш ховор хийдэг тул яг хэрхэн хийхээ бараг санахгүй байна - ихэнх програмчлалын хэл дээр би бодит тоог хоосон строктой холбож болох гэж хүлээж байсан, гэхдээ X++ энэ үйлдлийг дэмждэггүй.

Ямар ч байсан, би олсон хамгийн амархан арга бол .NET дуудлагыг ашиглах явдал юм. Энд олон сонголтууд байна, өндөр түвшний форматчилалттай болон форматчилалтгүй, гэхдээ хэрвээ та зүгээр л бодит тоог строк болгон хөрвүүлэхийг хүсч байвал энэ нь хангалттай:

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

Энэ кодыг AOS дээр ажиллуулах бол (жишээлбэл, батч ажлын үед), эхлээд шаардлагатай кодын хандалтын эрхийг шалгахыг санаарай. Энэ тохиолдолд та .NET кодыг дуудхаар ClrInterop төрлийн InteropPermission хэрэгтэй болно, тиймээс бүрэн кодын жишээ дараах байдлаар харагдах болно:

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

Энэ энгийн System::Convert функц нь системийн одоогийн орон нутгийн тохиргоог ашигладаг бөгөөд энэ нь арван хоёртын оронд оролт ашиглах үед асуудал гарахгүй байж болох ч, надад кома тэмдэгтийг тоон оронд ашигладаг бүс нутагт амьдардаг тул, хэрвээ строкийг жишээ нь бусад системд уншигдах ёстой файлын хэлбэрт оруулах шаардлагатай бол, илүү нарийн боловсруулах шаардлагатай байж болох юм.

Bluesky дээр хуваалцаарайFacebook дээр хуваалцахLinkedIn дээр хуваалцахTumblr дээр хуваалцахX дээр хуваалцаарайLinkedIn дээр хуваалцахPinterest дээрх пин

Миккел Кристенсен

Зохиогчийн тухай

Миккел Кристенсен
Миккел бол miklix.com сайтыг бүтээгч, эзэмшигч юм. Тэрээр мэргэжлийн компьютерийн программист/програм хангамж хөгжүүлэгчээр 20 гаруй жил ажилласан туршлагатай бөгөөд одоогоор Европын томоохон мэдээллийн технологийн корпорацид бүтэн цагаар ажиллаж байна. Блог хөтлөөгүй үедээ тэрээр чөлөөт цагаа олон төрлийн сонирхол, хобби, үйл ажиллагаанд зарцуулдаг бөгөөд энэ нь энэ вэб сайтад багтсан олон янзын сэдвүүдэд тодорхой хэмжээгээр тусгагдсан байж магадгүй юм.