اع

اعداد در Swift

1 تمرین

درباره‌ی اعداد

اعداد

Swift دو دسته‌ی اصلی از اعداد را ارائه می‌دهد: اعداد صحیح و اعداد اعشاری.

  • اعداد صحیح اعداد کامل را بدون بخش کسری نشان می‌دهند، مانند 0، 1، -1، 42 و -273.
  • اعداد اعشاری اعدادی را با بخش کسری نشان می‌دهند، مانند 0.0، 3.14 و -1.36969e-10.

می‌توانید برای بهتر شدن خوانایی، در لیترال‌های عددی زیرخط به کار ببرید: 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 را تولید می‌کند (نه یک عدد). در مقابل، تقسیم یک عدد صحیح بر صفر باعث خطای زمان کامپایل یا زمان اجرا می‌شود:

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 این پیوند در پنجره یا زبانه‌ی جدیدی باز می‌شود

اعداد را یاد بگیرید