Python-এর সংখ্যা হ্যান্ডলিং PHP-এর কাছাকাছি, একটি উল্লেখযোগ্য পার্থক্যসহ: Python integer-এর কোনো আকারের সীমা নেই, মেমরি যতটা অনুমতি দেয় ততটা বড় হতে পারে।
| ফাংশন | কী করে | উদাহরণ |
|---|---|---|
| round(n) | নিকটতম পূর্ণ সংখ্যায় রাউন্ড করে | round(4.5) → 4 (নিচের callout দেখুন) |
| round(n, decimals) | নির্দিষ্ট সংখ্যক দশমিক স্থানে রাউন্ড করে | round(3.14159, 2) → 3.14 |
| math.floor(n) | সবসময় নিচের দিকে রাউন্ড করে | math.floor(4.9) → 4 |
| math.ceil(n) | সবসময় উপরের দিকে রাউন্ড করে | math.ceil(4.1) → 5 |
round(4.5) যা আপনি প্রত্যাশা করবেন তা নয়
Python-এর round() "round half to even" (banker's rounding-ও বলা হয়) ব্যবহার করে — round(4.5) দেয় 4, 5 নয়, আর round(5.5) দেয় 6। এটি PHP-এর round()-এর থেকে ইচ্ছাকৃতভাবে আলাদা, যা সবসময় .5 উপরের দিকে রাউন্ড করে, আর প্রথমবার এটার মুখোমুখি হলে প্রায় সবাইকে অবাক করে।
floor() আর ceil(), বেশিরভাগ অন্য ম্যাথ ফাংশনের সাথে, ডিফল্টভাবে পাওয়া যাওয়ার বদলে Python-এর math মডিউলে থাকে — আসন্ন একটি পাঠে আপনি import ভালোভাবে দেখবেন, কিন্তু প্যাটার্নটা এখনই ব্যবহার করার মতো যথেষ্ট সহজ:
import math
print(math.floor(4.9)) # 4
print(math.ceil(4.1)) # 5
print(math.sqrt(64)) # 8.0
print(math.pi) # 3.141592653589793print(abs(-7)) # 7 — absolute value
print(max(3, 9, 2)) # 9 — largest of the arguments
print(min(3, 9, 2)) # 2 — smallest of the arguments
print(pow(2, 10)) # 1024 — same as 2 ** 10একটি format specifier-সহ f-string দশমিক স্থান নিয়ন্ত্রণ করার আর হাজার-বিভাজক যোগ করার প্রচলিত উপায়:
value = 1234567.891
print(f"{value:,.2f}") # "1,234,567.89"