সং

সংখ্যা মধ্যে Swift

১টি অনুশীলনী

সংখ্যা সম্পর্কে

সংখ্যা

Swift প্রধানত দুই ধরনের সংখ্যা দেয়: ইন্টিজার এবং ফ্লোটিং পয়েন্ট সংখ্যা।

পাঠযোগ্যতা বাড়াতে আপনি সংখ্যাসূচক লিটারেলে আন্ডারস্কোর বসাতে পারেন: 1_000_000 আর 1000000 একই জিনিস। ফ্লোটিং পয়েন্ট লিটারেল দশমিক বা সূচকীয় নোটেশনে লেখা যায়।

বেশিরভাগ ক্ষেত্রে আপনি ইন্টিজারের জন্য Int এবং ফ্লোটিং পয়েন্ট সংখ্যার জন্য Double ব্যবহার করেন:

let speed: Int = 42                           // Explicit Int
let pi: Double = 3.14                         // Explicit Double
let giga: Double = 1_000_000_000              // Double with readability underscores
let plancksConstant: Double = 6.62607015e-34  // Double in scientific notation

গাণিতিক অপারেটর

সংখ্যার হিসাব-নিকাশের জন্য Swift স্ট্যান্ডার্ড গাণিতিক অপারেটর দেয়:

অপারেটর বিবরণ উদাহরণ
+ যোগ 4 + 6-এর ফলাফল 10
- বিয়োগ 15 - 10-এর ফলাফল 5
* গুণ 2 * 3-এর ফলাফল 6
Caution

Swift টাইপ-সেফ, তাই গাণিতিক অপারেশনে ভিন্ন ভিন্ন সংখ্যাসূচক টাইপ মেশানো যায় না। আপনি সরাসরি একটি Int ও একটি Double যোগ বা গুণ করতে পারেন না; আগে একটি টাইপকে অন্যটির সাথে মিলিয়ে কনভার্ট করতে হবে।

ভাগ

/ অপারেটর ভাগ করে। যখন দুটি অপারেন্ডই ইন্টিজার হয়, তখন ইন্টিজার ভাগ কোনো ভগ্নাংশ ভাগশেষ বাদ দেয়:

5.0 / 2.0 // 2.5 (Double division)
5 / 2     // 2 (integer division truncates the remainder)

শূন্য নয় এমন একটি ফ্লোটিং পয়েন্ট সংখ্যাকে শূন্য দিয়ে ভাগ করলে inf বা -inf পাওয়া যায়। 0.0-কে 0.0 দিয়ে ভাগ করলে nan (Not a Number, অর্থাৎ সংখ্যা নয়) তৈরি হয়। অন্যদিকে, একটি ইন্টিজারকে শূন্য দিয়ে ভাগ করলে কম্পাইল-টাইম বা রানটাইম এরর হয়:

print(5.0 / 0.0)  // Prints inf
print(-5.0 / 0.0) // Prints -inf
print(0.0 / 0.0)  // Prints nan

// The following line will not compile:
// print(5 / 0) // Error: Division by zero

ভাগশেষ অপারেটর

ভাগশেষ অপারেটর (%) দুটি ইন্টিজার ভাগ করার পর পড়ে থাকা ভাগশেষ হিসাব করে:

5 % 2  // 1
-5 % 2 // -1

// Dividing by zero produces an error:
// 5 % 0 // Error: Division by zero
Note

Swift-এ % আসলে মডুলো অপারেটরের বদলে সত্যিকারের ভাগশেষ অপারেটর। দ্বিতীয় অপারেন্ডের চিহ্ন যা-ই হোক, ফলাফলের চিহ্ন সবসময় প্রথম অপারেন্ডের (ভাজ্যের) চিহ্ন নেয়:

5 % -2  // 1
-5 % 2  // -1

ফ্লোটিং পয়েন্ট সংখ্যা রাউন্ড করা

rounded() মেথড দিয়ে আপনি একটি ফ্লোটিং পয়েন্ট সংখ্যা রাউন্ড করতে পারেন। ডিফল্টভাবে rounded() নিকটতম ইন্টিজারে রাউন্ড করে। আপনি একটি নির্দিষ্ট রাউন্ডিং রুল-ও দিতে পারেন, যেমন .up বা .down:

let x = 3.14
let y = x.rounded()      // 3.0
let w = x.rounded(.down) // 3.0
let z = x.rounded(.up)   // 4.0

টাইপ ইনফারেন্স

টাইপ অ্যানোটেশন ছাড়া কোনো সংখ্যাসূচক ধ্রুবক বা ভ্যারিয়েবল ডিক্লেয়ার করলে Swift তার টাইপ অনুমান করে:

  • পূর্ণসংখ্যার ডিফল্ট টাইপ Int।
  • দশমিক বিন্দুসহ সংখ্যার ডিফল্ট টাইপ Double।
let x = 42         // Inferred as Int
let y = 42.0       // Inferred as Double
let z: Double = 42 // Explicitly typed as Double

টাইপ কনভার্সন

ভিন্ন টাইপের মানের মধ্যে অপারেশন চালাতে হলে Double(_:) বা Int(_:)-এর মতো টাইপ ইনিশিয়ালাইজার দিয়ে একটি মান কনভার্ট করুন:

let integerCount = 42
let floatingCount = Double(integerCount)
print(floatingCount) // Prints 42.0

let pi = 3.14
let integerPi = Int(pi)
print(integerPi) // Prints 3 (fractional part is truncated)
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি নতুন একটি উইন্ডো বা ট্যাবে খুলবে

সংখ্যা শিখুন