از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
محدود کردن نقاط اعشاری شناور در پایتون
سرفصلهای مطلب
معرفی
در پایتون، ما اغلب با اعدادی سروکار داریم که دارای بخش کسری هستند که به اعداد ممیز شناور معروف هستند. اما اگر بخواهیم تعداد اعشار را در این اعداد محدود کنیم چه؟ این بایت در مورد مفهوم اعداد ممیز شناور صحبت خواهد کرد، چرا ممکن است بخواهیم اعشار آنها را محدود کنیم، و روش انجام این کار با استفاده از توابع داخلی پایتون.
اعداد اعشاری
اعداد ممیز شناور، یا به سادگی “شناور”، اعدادی هستند که دارای نقطه اعشار هستند. در پایتون، میتوانید یک شناور را با قرار دادن یک نقطه اعشار در عدد تعریف کنید، مانند:
my_float = 3.14159
print(my_float)
خروجی:
3.14159
چرا اعشار را محدود می کنیم؟
ممکن است از خود بپرسید، “چرا می خواهم اعشار یک شناور را محدود کنم؟” خوب، دلایل زیادی وجود دارد. شاید شما با یک ارزش ارز سر و کار دارید و فقط به دو رقم اعشار نیاز دارید. یا شاید شما درصدی را محاسبه می کنید و به دقت بالایی نیاز ندارید و می خواهید آن را خواناتر کنید.
محدود کردن اعشار می تواند خواندن و درک داده های شما را آسان تر کند.
چگونه نقاط اعشاری یک شناور را محدود کنیم
پایتون چندین راه برای محدود کردن اعشار یک شناور ارائه می دهد. ما در اینجا برخی از رایج ترین روش ها را پوشش خواهیم داد:
با استفاده از تابع round()
را round()
تابع یک تابع داخلی پایتون است که یک عدد را به تعداد مشخصی اعشار گرد می کند. بهطور پیشفرض، به نزدیکترین عدد صحیح گرد میشود، اما میتوانید آرگومان دوم را برای تعیین تعداد رقمهای اعشار ارسال کنید. در اینجا روش استفاده از آن آورده شده است:
my_float = 3.14159
rounded_float = round(my_float, 2)
print(rounded_float)
خروجی:
3.14
در این مثال، ما گرد کرده ایم my_float
تا دو رقم اعشار
توجه داشته باشید: را round()
تابع از گرد کردن “نیم تا زوج” استفاده می کند که به عنوان “گرد کردن بانکداران” نیز شناخته می شود. این بدان معنی است که اگر عددی که باید گرد شود دقیقاً در نیمه راه بین دو مقدار ممکن باشد، به نزدیکترین عدد زوج گرد می شود. اگر با اعدادی سر و کار دارید که اغلب به 0.5 ختم می شوند، این چیزی است که باید به خاطر داشته باشید.
با استفاده از تابع format().
را format()
تابع راه دیگری برای محدود کردن اعشار شناور در پایتون است. این روش قالببندی کنترل بیشتری بر روش نمایش اعداد شما فراهم میکند.
num = 12.34567
formatted_num = "{:.2f}".format(num)
print(formatted_num)
خروجی:
12.35
در این مثال، :.2f
داخل بریس های فرفری {}
یک مشخصات قالب برای شماره شناور است. را .2
قسمت دقت اعداد بعد از اعشار را مشخص می کند. را f
در انتها مخفف عدد “نقطه ثابت” است که برای نمایش اعداد اعشاری استفاده می شود.
توجه داشته باشید: را format()
تابع شماره شناور اصلی را تغییر نمی دهد. در عوض، یک رشته فرمت شده را برمی گرداند. بنابراین اگر میخواهید از این عدد استفاده یا دستکاری کنید، باید آن را دوباره به یک شناور تبدیل کنید.
با استفاده از ماژول اعشاری
روش دیگر برای محدود کردن اعشار شناور استفاده از اعشار است Decimal
ماژول در پایتون این ماژول از محاسبات اعشاری ممیز شناور سریع و درست گرد شده پشتیبانی می کند.
from decimal import Decimal
num = Decimal(12.34567)
rounded_num = round(num, 2)
print(rounded_num)
خروجی:
12.35
در این مثال، ابتدا آن را وارد می کنیم Decimal
مدول. سپس عدد شناور خود را به اعشار تبدیل می کنیم و از آن استفاده می کنیم round()
تابعی برای محدود کردن اعشار به دو.
را Decimal
ماژول دقت و کنترل بیشتری را بر روی محاسبات ممیز شناور نسبت به نوع داده شناور داخلی پایتون ارائه می دهد.
گرد کردن در مقابل کوتاه کردن نقاط اعشاری
هنگام محدود کردن اعشار، مهم است که تفاوت بین گرد کردن و کوتاه کردن را درک کنید. گرد کردن به تقریب یک عدد به نزدیکترین مقدار اشاره دارد، در حالی که کوتاه کردن به معنای حذف ارقام اضافی است. بدون گرد کردن
به عنوان مثال، اگر عدد 12.789 را دارید و می خواهید آن را به دو نقطه اعشار محدود کنید، گرد کردن 12.79 به شما می دهد در حالی که کوتاه کردن به شما 12.78 می دهد.
در اینجا روش کوتاه کردن یک شناور به دو نقطه اعشار با استفاده از آن آمده است int
و مقداری ضرب/تقسیم:
num = 12.789
truncated_num = int(num * 100) / 100
print(truncated_num)
خروجی:
12.78
برای رسیدن به برش، شناور را در 100 ضرب می کنیم، آن را به یک عدد صحیح تبدیل می کنیم تا اعشار اضافی حذف شود و سپس آن را بر 100 تقسیم می کنیم تا مقدار کوتاه شده را بدست آوریم.
نتیجه
در این بایت، روشهای مختلفی را برای محدود کردن اعشار شناور در پایتون با استفاده از آن بررسی کردیم round()
، format()
، و Decimal
مدول. ما همچنین تفاوت بین گرد کردن و کوتاه کردن اعشار را مورد بحث قرار دادیم. انتخاب روشی که استفاده می کنید تا حد زیادی به نیازهای خاص برنامه شما بستگی دارد. را Decimal
ماژول یک ابزار قدرتمند برای برخورد با اعداد ممیز شناور است، به خصوص زمانی که دقت مهمتر است. با این حال، برای گرد کردن یا قالب بندی ساده، round()
و format()
توابع اغلب کافی هستند.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-28 10:36:10