
از عملکرد C ++ SetPrecision برای قالب بندی مقادیر نقطه شناور استفاده می شود. این یک عملکرد داخلی است و می تواند با وارد کردن کتابخانه Iomanip در یک برنامه استفاده شود. با استفاده از عملکرد SetPrecision ، می توانیم با ارائه تعداد دقیق مکان های اعشاری ، مقدار دقیق مورد نظر یک نقطه شناور یا یک مقدار دو برابر را بدست آوریم. اگر یک آرگومان N به عملکرد SetPrecision () منتقل شود ، بدون از دست دادن اطلاعات ، رقم های قابل توجهی از تعداد را ارائه می دهد.
عملکرد SetPrecision () برای جلوگیری از از دست دادن اطلاعات بسیار مفید است. بگذارید این موضوع را با کمک یک مثال درک کنیم. بیایید بگوییم که شما باید مقدار PI را که تعداد نامحدودی از رقم دارد ، ذخیره کنید. بنابراین ، در یک حافظه 4 بیتی یا 8 بیتی ، برخی از رقم ها به طور خودکار کوتاه می شوند. این باعث از بین رفتن اطلاعات خواهد شد. برای جلوگیری از این ، می توان از عملکرد SetPrecision () استفاده کرد. به عنوان مثال ، SetPrecision (4) 4 رقم مهم (یعنی 3. 142) از مقدار PI را بدون هیچ گونه از دست دادن اطلاعات می دهد.
نحو C ++ SetPrecision
نحو عملکرد SetPrecision () در C ++ به شرح زیر است:
- آرگومان: این پارامتر نوع عدد صحیح است که تعداد رقم های قابل توجه مورد نیاز در یک نقطه شناور یا مقدار دو برابر را مشخص می کند. یک پارامتر n نقطه شناور را دقیقاً به رقم های قابل توجه N تنظیم می کند.
- مقدار بازگشت: این عملکرد یک مقدار را برمی گرداند. این فقط جریان ها را دستکاری می کند.
مبانی به پیشرفته - همه را بیاموزید!
Caltech PGP برنامه اکتشاف کامل پشته
ارقام و مکان های اعشاری قابل توجه
از C ++ SetPrecision می توان برای دستکاری یک مقدار کامل نقطه شناور یا فقط مکان های اعشاری آن استفاده کرد. این دو مورد در زیر مورد بحث قرار گرفته است:
ارقام قابل توجه
برای تنظیم دقت در یک نقطه شناور ، به سادگی تعداد ارقام مهم (Say N) مورد نیاز عملکرد SetPrecision () را به عنوان یک آرگومان ارائه دهید. این تابع مقدار اصلی را به همان تعداد از ارقام مهم (N در این مورد) قالب بندی می کند.
نحو برای چاپ ارقام مهم
در اینجا ، استدلال N تعداد ارقام مهم است که باید به عنوان خروجی نمایش داده شوند.
مثال زیر نحوه چاپ ارقام مهم را با استفاده از C ++ SetPrecision نشان می دهد:
با استفاده از namespace std ؛
// یک نقطه شناور را آغاز کنید
num float = 2. 71828 ؛
// چاپ 3 شکل مهم

توسعه جلو یا عقب؟همه را بیاموزید!
برنامه Caltech Coding Bootcamp برنامه کاوش
مکان های دهدهی
C ++ SetPrecision همچنین می تواند برای قالب بندی فقط مکان های اعشاری به جای کل نقطه شناور یا مقدار دو برابر استفاده شود. این کار را می توان با استفاده از کلمه کلیدی ثابت قبل از روش تنظیم () انجام داد. هنگامی که از کلمه کلیدی ثابت استفاده می شود ، آرگومان در عملکرد SetPrecision () تعداد مکان های اعشاری را که در خروجی چاپ می شود ، مشخص می کند.
نحو برای چاپ تعداد قابل توجهی از مکان های اعشاری
در اینجا ، آرگومان N تعداد مکان های اعشاری است که باید به عنوان خروجی نمایش داده شوند.
مثال زیر نحوه چاپ مکانهای اعشاری قابل توجهی را با استفاده از C ++ SetPrecision و کلمه کلیدی ثابت نشان می دهد:
با استفاده از namespace std ؛
// یک نقطه شناور را آغاز کنید
num float = 2. 71828 ؛
// چاپ 3 شکل مهم
// چاپ 3 مکان اعشاری

آیا توسعه کامل پشته حرفه ای برای شما مناسب است؟
وبینار رایگان |12 آوریل ، چهارشنبه |ساعت 10 بعد از ظهر IST اکنون ثبت نام کنید
نمونه هایی از عملکرد C ++ SetPrecision
مثال 1: با استفاده از عملکرد SetPrecision ()
در این مثال ، ما می خواهیم با استفاده از تابع SetPrecision () ، عملکرد SetPrecision () را به روشی به خوبی ترسیم کنیم تا یک مقدار مضاعف را به مقادیر مهم مختلف تنظیم کنیم.
با استفاده از namespace std ؛
// شروع PI به عنوان دو برابر
Double Pi = 3. 141592653589793238 ؛

در کد فوق ، ما از تابع SetPrecision () استفاده می کنیم تا دقت را به تعداد مختلف ارقام قابل توجه PI تنظیم کنیم. برای اعداد مثبت 1 ، 2 ، 5 و 7 و برای 0 ، عملکرد SetPrecision () خوب کار می کند و خروجی مورد نظر را ارائه می دهد. اما برای اعداد منف ی-1 و-3 ، تعداد پیش فرض ارقام قابل توجه را نشان می دهد (یعنی 6).
مثال 2: دقت پیش فرض و حداکثر دقت
در این مثال ، ما دقت پیش فرض ، حداکثر دقت را نمایش می دهیم و دقت را با استفاده از SetPrecision () تا یک رقم قابل توجه خاص تنظیم می کنیم.
با استفاده از namespace std ؛
// اولیه را به عنوان دو برابر کنید
Double Pi = 3. 141592653589793238 ؛
// دقت پیش فرض
// چاپ حداکثر دقت
// چاپ دقیق تا 5 رقم مهم

در کد فوق ، PI با استفاده از سه قالب مختلف چاپ می شود. ابتدا فرمت پیش فرض دقیق با استفاده از COUT است که دقیقاً 6 رقم مهم را چاپ می کند و تمام رقم های دیگر را کوتاه می کند. قالب دوم چاپ حداکثر رقم قابل توجه با استفاده از numeric_limits :: digits10 است. و قالب سوم چاپ 5 شکل مهم با استفاده از عملکرد SetPrecision () است.
از بهترین های صنعت بیاموزید!
Caltech PGP برنامه اکتشاف کامل پشته
مثال 3: استفاده از ثابت برای تنظیم دقت در مکان های اعشاری.
در مثال زیر از کلمه کلیدی ثابت برای تنظیم دقت در مکان های اعشاری استفاده می شود.
با استفاده از namespace std ؛
// اولیه را به عنوان دو برابر کنید
Double Pi = 3. 141 ؛

در برنامه فوق از کلمه کلیدی ثابت برای چاپ مقدار دقیق پیش فرض متغیر نقطه شناور استفاده می شود. این 6 رقم اعشاری را در خروجی نشان می دهد. از آنجا که متغیر فقط 3 رقم اعشاری در مقدار اصلی دارد ، 0 برای 3 مکان دیگر چاپ می شود. به طور مشابه ، هنگامی که از SetPrecision (8) استفاده می شود ، 8 رقم مهم را با صفرهای به عنوان رقم باقیمانده چاپ می کند.
مثال 4: با استفاده از ثابت برای یافتن دقت پیش فرض و حداکثر دقت
در این مثال ، کلمه کلیدی ثابت برای دستکاری مقادیر پیش فرض و حداکثر دقیق استفاده می شود.
با استفاده از namespace std ؛
// اولیه را به عنوان دو برابر کنید
Double Pi = 3. 141592 ؛
// دقت پیش فرض
// چاپ حداکثر دقت
// دقت پیش فرض
// چاپ حداکثر دقت

در برنامه فوق ، مقادیر اصلی متغیر نقطه شناور با استفاده از کلمه کلیدی ثابت دستکاری می شوند. ابتدا مقادیر پیش فرض و حداکثر دقیق بدون استفاده از کلمه کلیدی ثابت چاپ می شوند. و سپس ، مقادیر پیش فرض و حداکثر دقیق با کلمه کلیدی ثابت چاپ می شوند.
در 6 ماه به یک توسعه دهنده کامل پشته تبدیل شوید!
برنامه اکتشاف کامل توسعه پشته
متداول
1. عملکرد SetPrecision در C ++ چیست؟
SetPrecision تابعی در هدر کتابخانه استاندارد C ++ است که برای تنظیم دقت (یعنی تعداد مکان های اعشاری) برای مقادیر نقطه شناور هنگام استفاده از اپراتور درج جریان استفاده می شود (<<) with a std::cout stream.
2. چگونه می توانم از عملکرد SetPrecision استفاده کنم؟
برای استفاده از SetPrecision ، هدر را درج کنید و از عملکردی که در مثال زیر نشان داده شده است استفاده کنید:

3. آیا می توانم از SetPrecision با سایر انواع جریان استفاده کنم؟
SetPrecision را می توان با هر نوع جریان که از اپراتور درج جریان پشتیبانی می کند استفاده کرد (<<). This includes std::cout, std::cerr, and std::ofstream, among others.
4- آیا SetPrecision مقدار آن را دور می کند یا آن را کوتاه می کند؟
عملکرد SetPrecision مقدار را کوتاه می کند ، آن را دور نمی کند.
5- چگونه می توان دقت را برای یک متغیر خاص به جای کل جریان تنظیم کرد؟
می توانید عملکرد SetPrecision را با متغیر مورد نظر برای تنظیم دقیق زنجیر کنید.
همچنین می توانید از Manipulator ثابت با SetPrecision برای تعیین دقت برای یک متغیر خاص استفاده کنید.
6. چگونه می توانم تنظیم دقیق فعلی یک جریان را بدست آورم؟
برای به دست آوردن تنظیم دقیق فعلی می توانید از عملکرد دقیق جریان استفاده کنید.
7. آیا می توان دقت جهانی را برای همه مقادیر شناور نقطه در یک برنامه تعیین کرد؟
بله ، می توان با استفاده از تابع UNSETF برای حذف تنظیم دقیق موجود و سپس استفاده از SetPrecision برای تنظیم یک مورد جدید ، یک دقت جهانی را برای همه مقادیر نقطه شناور در یک برنامه تنظیم کرد. مثلا:
این یک دقت جهانی از 5 مکان اعشاری را برای کلیه مقادیر نقطه شناور مورد استفاده در برنامه تعیین می کند.
8- آیا می توانم از عملکرد SetPrecision با انواع تعریف شده توسط کاربر استفاده کنم؟
9. آیا می توانم دقت را برای یک علامت ثابت تنظیم کنم؟
بله ، شما می توانید با استفاده از Manipulator ثابت در ترکیب با SetPrecision ، دقت را برای نماد ثابت تنظیم کنید. این اطمینان حاصل می کند که تعداد در نماد ثابت با تعداد مشخصی از مکان های اعشاری نمایش داده می شود. مثلا:
10. آیا می توان دقت را برای یک رشته عددی تنظیم کرد؟
بله ، می توان با استفاده از ترکیبی از StringStream و SetPrecision ، دقت را برای یک رشته عددی تنظیم کرد. می توانید از StringStream برای تبدیل یک مقدار عددی به یک رشته استفاده کنید و سپس از SetPrecision برای تنظیم دقت رشته استفاده کنید. مثلا:

نتیجه
در این مقاله ، شما عملکرد مهمی را از کتابخانه Iomanip به نام SetPrecision آموخته اید. می توانید از این عملکرد برای مشخص کردن تعداد رقم های مهم در یک شماره نقطه شناور که می خواهید برگردانید ، استفاده کنید. شما چندین مورد استفاده از عملکرد SetPrecision را با نمونه های عملی عملی مشاهده کردید.
برای درک بهتر از مفاهیم برنامه نویسی C ++ ، می توانید آموزش ما را در مورد برنامه نویسی C ++ برای مبتدیان طی کنید.
برای کسب اطلاعات بیشتر در مورد جنبه ها و فن آوری های مهم مورد استفاده در توسعه نرم افزار ، می توانید دوره کامل توسعه وب پشته را که توسط SimpleLea ارائه شده است انتخاب کنید. بشراز طریق این دوره ، شما فن آوری های پایان به پایان به کار رفته در توسعه نرم افزار حرفه ای مانند DevOps ، Agility ، Java ، CSS ، HTML ، AWS و غیره را یاد خواهید گرفت.
ما همچنین به شما توصیه می کنیم لیست کامل دوره های آنلاین رایگان ما را بررسی کنید. اگر سؤالی یا پیشنهادی برای ما دارید ، لطفاً آنها را در جعبه نظر ذکر کنید و کارشناسان ما در اسرع وقت به آنها پاسخ می دهند.
درباره نویسنده
Ravikiran a s
Ravikiran A S با SimpleLea به عنوان یک تحلیلگر تحقیق کار می کند. او یک گیک مشتاق همیشه در شکار برای یادگیری آخرین فن آوری ها است. او با زبان برنامه نویسی جاوا ، داده های بزرگ و چارچوب های قدرتمند بزرگ مانند Apache Hadoop و Apache Spark مهارت دارد.
بیشتر ببینید
برنامه های پیشنهادی
برنامه تحصیلات تکمیلی را در توسعه کامل وب پشته ارسال کنید
کتاب آموزش بورس...
ما را در سایت کتاب آموزش بورس دنبال می کنید
برچسب :
نویسنده : محسن زنجانچی
بازدید : 48
تاريخ : پنجشنبه
9 شهريور
1402 ساعت: 13:31