Miklix

המר ריאל למחרוזת עם כל הספרות העשרוניות ב- Dynamics AX 2012

פורסם: 16 בפברואר 2025 בשעה 10:41:20 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 (לדוגמה בעבודת אצווה), זכור להצהיר תחילה על הרשאת הגישה הדרושה לקוד. במקרה זה תזדקק ל-InteropPermission מסוג ClrInterop כדי לקרוא לקוד NET, כך שדוגמאת הקוד המלאה תיראה בערך כך:

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

שים לב שפונקציית System::Convert הפשוטה הזו משתמשת במקום הנוכחי של המערכת ביחס לנקודה עשרונית. זה אולי לא מהווה בעיה עבורך, אבל עבורי שגר באזור שבו נעשה שימוש בפסיק ולא בנקודה כמפריד עשרוני, זה עשוי לדרוש עיבוד נוסף אם המחרוזת למשל צריכה לשמש בקובץ שחייב להיות קריא על ידי מערכות אחרות.

שתפו בבלוסקישתפו בפייסבוקשתפו בלינקדאיןשתפו ב-Tumblrשתפו ב-Xשתפו בלינקדאיןהצמד בפינטרסט

מיקל בנג כריסטנסן

על המחבר

מיקל בנג כריסטנסן
מיקל הוא היוצר והבעלים של miklix.com. יש לו למעלה מ-20 שנות ניסיון כמתכנת מחשבים/מפתח תוכנה מקצועי וכיום הוא מועסק במשרה מלאה בתאגיד IT אירופאי גדול. כשהוא לא כותב בלוג, הוא מבלה את זמנו הפנוי במגוון עצום של תחומי עניין, תחביבים ופעילויות, שעשויים לבוא לידי ביטוי במידה מסוימת במגוון הנושאים המכוסים באתר זה.