Dynamics AX 2012 တွင် ဒဿမများ အားလုံးဖြင့် Real တစ်ခုသို့ လိုင်းတစ်ခုသို့ ပြောင်းပါ။
ထုတ်ဝေသည်- ၂၀၂၅၊ ဖေဖော်ဝါရီ ၁၆ UTC ၁၀:၄၈:၀၀
နောက်ဆုံး မွမ်းမံပြင်ဆင်သည်- ၂၀၂၆၊ ဇန်နဝါရီ ၁၂ UTC ၀၈:၅၂:၅၀
ဒီဆောင်းပါးမှာ Dynamics AX 2012 မှာ X++ ကုဒ်ဥပမာအပါအဝင် ဒဿမအားလုံးကို ထိန်းသိမ်းထားစဉ်မှာ floating point နံပါတ်တစ်ခုကို string အဖြစ် ဘယ်လိုပြောင်းရမလဲဆိုတာ ရှင်းပြထားပါတယ်။
Convert a Real to String with All Decimals in Dynamics AX 2012
ဤပို့စ်ရှိ အချက်အလက်များသည် Dynamics AX 2012 R3 ကို အခြေခံထားသည်။ အခြားဗားရှင်းများအတွက် မှန်ကန်နိုင်သည် သို့မဟုတ် မမှန်ကန်နိုင်ပါ။
တစ်ခါတစ်ရံမှာ real number တစ်ခုကို string အဖြစ်ပြောင်းဖို့ လိုအပ်ပါတယ်။ ပုံမှန်အားဖြင့် strFmt() ကို ပေးလိုက်ရုံနဲ့ လုံလောက်ပါတယ်၊ ဒါပေမယ့် အဲဒီ function က အမြဲတမ်း ဒဿမနှစ်ခုအဖြစ် လုံးလိုက်ပါတယ်၊ အဲဒါက ကျွန်တော် အမြဲတမ်း လိုချင်တာ မဟုတ်ပါဘူး။
ပြီးတော့ num2str() function လည်း ရှိပါတယ်၊ သူက ကောင်းကောင်းအလုပ်လုပ်ပါတယ်၊ ဒါပေမယ့် သင်လိုချင်တဲ့ ဒဿမကိန်းနဲ့ စာလုံးအရေအတွက်ကို ကြိုတင်သိထားဖို့ လိုအပ်ပါတယ်။
ဂဏန်းကို ဂဏန်းနဲ့ ဒဿမအားလုံးပါတဲ့ စာကြောင်းတစ်ကြောင်းအဖြစ် ပြောင်းချင်ရင်ကော။ ဘာကြောင့်မှန်းမသိပေမယ့် ဒါက ကျွန်တော် Google မှာ အမြဲရှာနေရတဲ့ အရာတစ်ခုပါ။ ဘာလို့လဲဆိုတော့ အံ့သြစရာကောင်းလောက်အောင် လုပ်ဖို့ ခက်ပြီး ကျွန်တော်လည်း ရှားရှားပါးပါးပဲ လုပ်တာမို့ ဘယ်လိုလုပ်ရမှန်းတောင် မမှတ်မိတော့ဘူး - ပရိုဂရမ်းမင်းဘာသာစကားအများစုမှာ အစစ်အမှန်ကို ဗလာစာကြောင်းတစ်ကြောင်းနဲ့ ပေါင်းစပ်လိုက်ရုံပဲလို့ မျှော်လင့်ထားပေမယ့် X++ ကတော့ အဲဒါကို မပံ့ပိုးပါဘူး။
ဘာပဲဖြစ်ဖြစ်၊ ဒါကိုလုပ်ဖို့ အလွယ်ဆုံးနည်းလမ်းကတော့ .NET call ကိုသုံးတာပါပဲ။ advanced formatting အတွက် option တွေပါတာရော၊ မပါဘူးရော ရွေးချယ်စရာတွေ အများကြီးရှိပါတယ်၊ ဒါပေမယ့် real ကနေ string ကို ရိုးရှင်းစွာပြောင်းလဲချင်တယ်ဆိုရင်တော့ ဒါလောက်နဲ့ လုံလောက်ပါတယ်။
ဒီကုဒ်ကို AOS မှာ run မယ်ဆိုရင် (ဥပမာ batch job မှာ) လိုအပ်တဲ့ code access permission ကို ဦးစွာ assert လုပ်ဖို့ မမေ့ပါနဲ့။ ဒီကိစ္စမှာ .NET ကုဒ်ကိုခေါ်ဖို့ ClrInterop အမျိုးအစား InteropPermission လိုအပ်ပါလိမ့်မယ်၊ ဒါကြောင့် ကုဒ်ဥပမာအပြည့်အစုံက ဒီလိုဖြစ်ပါလိမ့်မယ်။
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
ဒီရိုးရှင်းတဲ့ System::Convert function က decimal point character နဲ့ ပတ်သက်ပြီး system ရဲ့ လက်ရှိ locale ကို အသုံးပြုတယ်ဆိုတာ သတိပြုပါ။ ဒါက သင့်အတွက် ပြဿနာမရှိပေမယ့် decimal separator အနေနဲ့ period အစား comma ကို အသုံးပြုတဲ့ နေရာမှာ နေထိုင်တဲ့ ကျွန်တော့်အတွက်တော့ ဥပမာအားဖြင့် တခြား system တွေက ဖတ်လို့ရမယ့် file တစ်ခုမှာ string ကို အသုံးပြုဖို့ လိုအပ်ရင် နောက်ထပ် processing လိုအပ်နိုင်ပါတယ်။
နောက်ထပ်စာဖတ်ခြင်း။
ဤပို့စ်ကို သင်နှစ်သက်ပါက၊ ဤအကြံပြုချက်များကို သင်လည်း နှစ်သက်နိုင်ပါသည်-
- Dynamics AX 2012 တွင် Instantiate လုပ်ရန် မည်သည့် Subclass ကိုရှာဖွေရန် SysExtension Framework ကိုအသုံးပြုခြင်း
- Dynamics AX 2012 တွင် X++ ကုဒ်မှ Enum ၏ဒြပ်စင်များကို မည်သို့ပြန်ဆိုရမည်နည်း။
- Dynamics AX 2012 ရှိ data() နှင့် buf2Buf() ကွာခြားချက်
