تبدیل یک واقعی به رشته با تمام اعشار در Dynamics AX 2012
منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۱۰:۴۱:۱۵ (UTC)
در این مقاله، نحوه تبدیل یک عدد ممیز شناور به یک رشته را توضیح می دهم و در عین حال تمام اعشار را در Dynamics AX 2012 حفظ می کنیم، از جمله یک مثال کد X++.
Convert a Real to String with All Decimals in Dynamics AX 2012
اطلاعات این بر اساس Dynamics AX 2012 R3 است. ممکن است برای نسخه های دیگر معتبر باشد یا نباشد.
هر چند وقت یکبار، باید یک عدد واقعی را به یک رشته تبدیل کنم. معمولا فقط انتقال آن به strFmt() کافی است، اما این تابع همیشه به دو اعشار گرد می شود، که همیشه آن چیزی نیست که من می خواهم.
سپس تابع num2str() وجود دارد که به خوبی کار می کند، اما باید از قبل بدانید که چند اعشار و کاراکتر می خواهید.
اگر فقط بخواهید عدد با تمام ارقام و اعشار به یک رشته تبدیل شود، چه؟ به دلایلی، این چیزی است که همیشه من را وادار به جستجو در گوگل می کند، زیرا انجام آن به طرز شگفت انگیزی مبهم است و من آنقدر به ندرت این کار را انجام می دهم که معمولا نمی توانم دقیقا به یاد بیاورم که چگونه - در اکثر زبان های برنامه نویسی، من انتظار دارم که شما فقط بتوانید واقعی را به یک رشته خالی متصل کنید، اما X++ از آن پشتیبانی نمی کند.
به هر حال، ساده ترین راهی که برای انجام این کار پیدا کرده ام، استفاده از تماس دات نت است. در اینجا گزینه های متعددی نیز وجود دارد، با و بدون گزینه هایی برای قالب بندی پیشرفته، اما اگر فقط می خواهید تبدیل واقعی به یک رشته را تبدیل کنید، این کافی است:
اگر قرار است این کد روی AOS اجرا شود (به عنوان مثال در یک کار دسته ای)، به یاد داشته باشید که ابتدا مجوز دسترسی به کد لازم را تأیید کنید. در این حالت برای فراخوانی کد دات نت به یک InteropPermission از نوع ClrInterop نیاز دارید، بنابراین مثال کامل کد چیزی شبیه به این خواهد بود:
stringValue = System.Convert::ToString(realValue);
CodeAccessPermission::revertAssert();
توجه داشته باشید که این تابع ساده System::Convert از زبان فعلی سیستم با توجه به کاراکتر اعشار استفاده می کند. این ممکن است برای شما مشکلی ایجاد نکند، اما برای من که در منطقه ای زندگی می کنم که به جای نقطه به عنوان جداکننده اعشاری از کاما استفاده می شود، ممکن است نیاز به پردازش بیشتری داشته باشد اگر به عنوان مثال رشته در فایلی استفاده شود که باید توسط سیستم های دیگر قابل خواندن باشد.