כיצד להשתמש ב-Setprecision ב-C++

Kyzd Lhstms B Setprecision B C



אולי למדת ולמדת את ערכי הנקודה הצפה ואת התווים המדעיים במתמטיקה ובפיסיקה. ייתכן שלמדת גם לבצע עיגול על מספרי נקודה צפה. כלי העזר setprecision ב-C++ משמש לעתים קרובות כדי לשנות את רצף המספרים המוצגים בתוך רצף פלט שלם של נקודה צפה. זה עובד כמו פונקציונליות העיגול. שיטה זו מוגדרת בספרייה הסטנדרטית . במדריך זה, נראה לך כיצד להשתמש בפונקציית 'setprecision' של C++. אז בואו נתחיל. עלינו להפעיל את אפליקציית המעטפת של אובונטו דרך 'Ctrl+Alt+T' כדי לעבוד עליו. עלינו לאתחל את התקנת המהדר C++, שהוא g++ במקרה שלנו. אז, חבילת apt תשמש למטרה זו עד כה. המערכת תתקין את ה-g++ תוך מספר שניות בלבד: $ סודו מַתְאִים להתקין g++

דוגמה 01:

אז, פתחנו את הקובץ 'new.cc' עם הוראה 'ננו'. קובץ זה נוצר באמצעות שאילתת ה'מגע' של המעטפת. הקובץ מופעל כעת בעורך הננו כקובץ ריק. הוספנו את קובץ הכותרת של הקלט-פלט 'iostream' בחלק העליון. ספריית 'iomanip' נוספה כדי להשתמש בשיטת setprecision() של הקוד שלנו. לאחר מכן, השתמשנו במרחב השמות הסטנדרטי 'std' כדי לוודא שאנו משתמשים בדרך הסטנדרטית של קוד ותחביר. הקוד הכולל בוצע בתוך הפונקציה main() של קוד C++. לא נעשה שימוש בפונקציה אחרת המוגדרת על ידי משתמש למטרה זו.







בתוך הפונקציה main() אתחלנו משתנה מסוג כפול 'v' עם ערך כפול. ההצהרה הסטנדרטית הראשונה של 'cout' מציגה את ערך המשתנה הכפול בפועל 'v' על המעטפת ללא כל עדכון. לאחר מכן, השתמשנו ב-8 הצהרות cout כדי להשתמש בשיטת setprecision() בכל אחת מהן. זה כדי להחיל את setprecision() על כל נקודה צפה של המשתנה 'v' בכל פעם. עליך להבין שהדיוק הקבוע פועל רק על הערך הגדול או שווה ל-5. אם ערך הנקודה הצפה גדול מ-5, הוא יגדיל את הערך שלפניו.



לדוגמה, setprecision() בנקודה צפה 1 יעגל את '5' אחרי הנקודה, והערך '4' יומר ל-5. באופן דומה, לא ניתן לעגל את ערך הנקודה הצפה השנייה '2', ערך הנקודה הצפה ה-3 '7' ימיר את הערך '2' ל- '3', לא ניתן לעגל את ערך הנקודה הצפה הרביעית '4' וערך הנקודה הצפה החמישית '9' ימיר את הערך '4' ' עד 5 לפניו. בנקודת '0' תמיר את הערך '4' ל-5. הערך השלילי setprecision() אינו עושה דבר מלבד להציג את כל הערך בפועל. כל הערכים בנקודות הצפות 0 עד 5 ו-1, -2 יוצגו לאחר החלת ה-setprecision():







זה הזמן להדר ולהפעיל את קוד setprecision C++ עם שאילתת ההידור g++ ושאילתת הביצוע './a.out'. הפלט מראה שה-setprecision(1) הראשון ממיר 4 ל-5. ה-setprecision(2) לא עשה כלום ומציג '4.5'. ה-setprecision(3) הגדיל את הערך מ-'4.52' ל-'4.53'. ה-setprecision(4) לא עושה דבר לערך '4.527'. הערך setprecision(5) מגדיל את הערך מ-'4.5274' ל-'4.5275'. ה-setprecision(0) הגדיל את הערך ל-5. ה-setprecision(-1) וה-setprecision(-2) לא עשו דבר כפי שמוצג להלן:

$ g++ new.cc

$. / א.אאוט



דוגמה 02:

בואו נסתכל על מקרה אחר. הקוד דומה לדוגמא שלעיל, עם שינוי רק בהצהרות ה-cout שלו. ה-cout הראשון מציג את הערכים המקוריים ואילו השניים הבאים מציגים את התוצאה של setprecision() בנקודות צפה 1 ו-5. ה-cout האחרון מציג את התוצאה של שיטת setprecision() בנקודה צפה 9, שאינה זמינה פיזית. התוצאות של נקודה צפה 1 ו-5 צפויות למדי, אבל אנחנו לא יכולים לומר שום דבר על נקודה צפה 9. בואו פשוט נבצע את הקובץ ונבדוק מה יהיה הפלט של הקוד הזה:

#include

#include

באמצעות מרחב שמות סטד ;

int רָאשִׁי ( ) {

לְהַכפִּיל ב = 4.52749 ;

cout << 'ערך לפני דיוק קבע:' << ב << ' \n ' ;

cout << קבע דיוק ( 1 ) << 'Val ב-1:' << ב << ' \n ' ;

cout << קבע דיוק ( 5 ) << 'ואל ב-5:' << ב << ' \n ' ;

cout << קבע דיוק ( 9 ) << 'ואל ב-9:' << ב << ' \n ' ;

לַחֲזוֹר 0 ;

}

לאחר הידור וביצוע של קוד זה, יש לנו את התוצאות הברורות להגדרת דיוק במיקומים 1 ו-3 של ערך הנקודה הצפה '4.52749'. התוצאה של setprecision 9 מציגה את הערך האמיתי של המשתנה הכפול 'v'. זה יכול להיות בגלל העובדה שהערך עבור מיקום 9 אינו קבוע:

$ g++ new.cc

$. / א.אאוט

בואו פשוט נעדכן את הקוד שוב כדי לתקן את הערכים של משתנה 'v'. לכן, לאחר שהמשפט הראשון setprecision() cout הוחל במיקום הראשון של המשתנה, השתמשנו במשתנה הקבוע ב-cout:

#include

#include

באמצעות מרחב שמות סטד ;

int רָאשִׁי ( ) {

לְהַכפִּיל ב = 4.52749 ;

cout << 'ערך לפני דיוק קבע:' << ב << ' \n ' ;

cout << קבע דיוק ( 1 ) << 'Val ב-1:' << ב << ' \n ' ;

cout << תוקן ;

cout << קבע דיוק ( 5 ) << 'ואל ב-5:' << ב << ' \n ' ;

cout << קבע דיוק ( 9 ) << 'ואל ב-9:' << ב << ' \n ' ;

לַחֲזוֹר 0 ;

}

לאחר הידור והרצה של קוד מעודכן זה, יש לנו את התוצאה הקבועה של setprecision במיקום 9 של משתנה 'v', כלומר, 4.527490000:

$ g++ new.cc

$. / א.אאוט

סיכום:

לבסוף, הכל היה על שימוש בשיטת setprecision() בקוד C++ כדי לעגל ולהציג את הערך של משתנה כפול. הסברנו גם משתנים קבועים בקוד ואת היתרונות שלהם. בנוסף, יישמנו שתי דוגמאות חשובות כדי להסביר את המושג דיוק סט ב-C++. אנו מקווים שמצאת מאמר זה מועיל. עיין במאמרי Linux רמז אחרים לקבלת טיפים והדרכות נוספות.