הפונקציות Decimal, Float, ו- Value
חל על: אפליקציות קנבס Dataverse עמודות נוסחאות זרימות שולחן העבודה אפליקציות מונחות מודל Power Pages Power Platform CLI
ממיר מחרוזת טקסט או סוגים אחרים למספר.
Description
הערה
Power Apps תומך רק בפונקציה Value ומחזיר ערך Float. תמיכה בפונקציות Decimal ו- Float תתווסף בקרוב.
השתמש בפונקציות Decimal, Float, ו- Value כדי להמיר מחרוזת טקסט שמכילה תווים מספריים לערך מספר. השתמש בפונקציות אלה כאשר עליך לבצע חישובים של מספרים שהוזנו כטקסט על-ידי משתמש. ניתן להשתמש בפונקציות אלו גם כדי להמיר סוגים אחרים למספר, כגון תאריך/שעה ובוליאני.
הפונקציה Value תחזיר את סוג הנתונים המספרי המוגדר כברירת מחדל עבור מארח Power Fx שאתה משתמש בו, שהוא בדרך כלל Decimal והבחירה הטובה ביותר ברוב המצבים. השתמש בפוקציות Decimal ו- Float כאשר אתה צריך סוג נתונים ספציפי עבור תרחיש מסוים, כגון חישוב מדעי עם מספר גדול מאוד. לפרטים נוספים על עבודה עם סוגי נתונים אלה, ראה מקטע מספרים של סוגי נתונים.
שפות שונות מפרשות את , ו- . באופן שונה. כברירת מחדל, הטקסט מפורש בשפה של המשתמש הנוכחי. באפשרותך לציין את השפה שבה יש להשתמש באמצעות תגית שפה, תוך שימוש באותן תגיות שפה המוחזרות על-ידי הפונקציה Language.
הערות לגבי תבנית המחרוזת:
- ייתכן שלפני המחרוזת יופיע סמל המטבע עבור השפה הנוכחית. המערכת מתעלמת מסמל המטבע. המערכת אינה מתעלמת מסמלי מטבעות עבור שפות אחרות.
- המחרוזת עשויה לכלול בסופה סימן אחוז (%), המציין שמדובר באחוזים. המספר יחולק ב- 100 לפני שיוחזר. לא ניתן לערבב אחוזים וסמלי מטבעות.
- המחרוזת עשויה לכלול סימון מדעי, למשל 12 x 103 המבוטא כ- "12e3".
אם המספר אינו בפורמט תקין, פונקציות אלה יחזירו שגיאה.
כדי להמיר ערכי תאריך ושעה, השתמש בפונקציות DateValue, TimeValue או DateTimeValue.
תחביר
עשרוני( מחרוזת [, LanguageTag ] )
Float( מחרוזת [, LanguageTag ] )
ערך( מחרוזת [, LanguageTag ] )
- מחרוזת - חובה. מחרוזת שיש להמיר לערך מספרי.
- LanguageTag - אופציונלי. תגית השפה שבה יש לנתח את המחרוזת. אם נתון זה לא יצוין, ייעשה שימוש בשפה של המשתמש הנוכחי.
עשרוני( לא מודפס )
Float( לא מודפס )
ערך( לא מוקלד )
- לא מודפס - חובה. אובייקט לא מסווג שמייצג מספר. ערכים מקובלים תלויים בספק הלא מסווג. עבור JSON, מצופה שהאובייקט הלא מסווג יהיה מספר JSON, בוליאני או טקסט שניתן להמיר למספר. זכור כי פורמטים הקשורים לאזור הם שיקולים חשובים בעת תקשורת עם מערכות חיצוניות.
דוגמאות
המשתמש שמפעיל נוסחאות אלה נמצא בארצות הברית ובחר 'אנגלית' כשפה שלו. הפונקציה Language מחזירה "en-US". מארח Power Fx משתמש ב- Decimal כברירת מחדל.
Value ו- Decimal
מכיוון שאנו משתמשים במארח שברירת המחדל שלו היא Decimal, Value ו- Decimal יחזירו אותן תוצאות.
נוסחה | Description | תוצאה |
---|---|---|
Value( "123.456") Decimal( "123.456") |
ייעשה שימוש בשפת ברירת המחדל, "en-US", המשתמשת בנקודה כמפריד העשרוני. | 123.456 (Decimal) |
Value( "123.456", "es-ES" ) Decimal( "123.456", "es-ES" ) |
"es-ES" היא תגית השפה של ספרדית בספרד. בספרד, נקודה היא מפריד אלפים. | 123456 (Decimal) |
ערך( "123,456") Decimal( "123,456") |
ייעשה שימוש בשפת ברירת המחדל, "en-US", המשתמשת בפסיק כמפריד אלפים. | 123456 (Decimal) |
Value( "123,456", "es-ES" ) Decimal( "123,456", "es-ES" ) |
"es-ES" היא תגית השפה של ספרדית בספרד. בספרד, פסיק הוא המפריד העשרוני. | 123.456 (Decimal) |
ערך( "12.34%") Decimal( "12.34%") |
סימן האחוז בסוף המחרוזת מציין שמדובר באחוזים. | 0.1234 (Decimal) |
ערך( "$12.34") Decimal( "$12.34") |
המערכת מתעלמת מסמל המטבע עבור השפה הנוכחית. | 12.34 (Decimal) |
ערך( "24e3") Decimal( "24e3") |
סימון מדעי של 24 x 103. | 24000 (Decimal) |
ערך (נכון) עשרוני (נכון) |
המרה של ערך בוליאני למספר, 0 עבור false ו- 1 עבור true | 1 Decimal |
Float
הפונקציה Float תהיה קרוב מאוד לאותן תוצאות כמו למעלה. מכיוון שלא ניתן לייצג את 123.456 במדויק ב- Float, התוצאה היא קירוב קרוב מאוד (123.456000000000003069544618484E2) ושילוב חישובי שגיאות עיגול עלול לגרום לתוצאה בלתי צפויה. הסוג שיתקבל יהיה Float במקום זאת.
המקום שבו הדברים מתפצלים זה אם משתמשים במספרים גדולים או קטנים יותר.
נוסחה | Description | תוצאה |
---|---|---|
Float( 1e100) | מכיוון שהמספר המילולי 1e100 הוא מעבר לטווח של Decimal, הדבר גורם לשגיאה לפני קריאה לפונקציה Float. |
שגיאה (הצפה) |
עשרוני ( 1e100 ) | אותה בעיה כמו בפונקציה Float. | שגיאה (הצפה) |
Float( "1e100") | המספר במחרוזת הטקסט נמצא בטווח של מספרים מסוג Float. | 1e100 Float |
Decimal( "1e100") | המספר במחרוזת הטקסט נמצא מעבר לטווח של מספרים מסוג Decimal. | שגיאה (הצפה) |
Float( "10000000000.0000000001") | המספר במחרוזת הטקסט נמצא בטווח של מספרים מסוג Float. עם זאת, המספר דורש דיוק רב יותר ממה ש- Float יכול לספק והוא ייחתך. | 1 (Float) |
Decimal( "10000000000.0000000001") | המספר במחרוזת הטקסט נמצא בטווח של מספרים מסוג Decimal ובאותה רמת דיוק. | 10000000000.0000000001 (Decimal) |