الأرقام

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

نوع بيانات رقم، أو double، يمثل رقم عائم مزدوج الدقة (64 بت). يمكن أن تتراوح الأرقام من -1.7 * 10308 إلى 1.7 * 10308 (حوالي 15 رقم من الدقة، إيجابي أو سلبي).

موقّع وغير موقّع

يشير علامة الرقم إلى ما إذا كان موجبًا أم سالبًا. على سبيل المثال، 1 هو رقم موجب و -1 هو رقم سالب. في Luau، الرقم -0 يعادل 0.


print(0 == -0) --> true
print(-0 > 1) --> false
print(-0 < 1) --> true
print(-0 > -1) --> true
print(-0 < -1) --> false

تصنيفات الأnumbers

لا يميز Luau بين الأعداد الصحيحة والأرقام، ولكن مرجع API أحيانًا يميز بينهما لتحديد كيفية استخدام كل واجهة برمجة تطبيقات بشكل أكثر تحديدًا.

float

نوع الرقم float يشير إلى رقم حقيقي به منزل عشري. في مصطلحات علوم الحاسوب، هم أرقام عائمة دقيقة مفردة (32 بت)، وهي ليست بدقة الأرقام العائمة مزدوجة الدقة، ولكنها دقيقة بما يكفي لمعظم حالات الاستخدام وتتطلب ذاكرة وتخزين أقل.

int

نوع الرقم integer، أو int، يشير إلى رقم صحيح 32 بت، ويتراوح من -231 إلى 231 - 1. الخصائص والوظائف التي تتوقع أعدادًا صحيحة قد تقوم تلقائيًا بتقريبها أو رفع أخطاء عندما تقوم بتعيين أو تمرير أعداد غير صحيحة إليها.

int64

نوع الرقم int64 يشير إلى عدد صحيح موقّع 64 بت، والذي يتراوح من -263 إلى 263 - 1. هذا النوع من الأعداد الصحيحة شائع في الأساليب التي تستخدم أرقام الهوية من موقع Roblox. على سبيل المثال، Player.UserId هو int64، وMarketplaceService:PromptPurchase() و TeleportService:Teleport() كل منهما يتوقع int64 لحجج الهوية.

التدوين

يتم تدوين الأرقام مع الأرقام الأكثر أهمية أولاً (big-endian). هناك طرق متعددة لتدوين الأدلة الرقمية في Luau:

  • التدوين العشري (قاعدة 10) — اكتب أرقام الرقم بشكل طبيعي باستخدام الأرقام 0-9 مع نقطة عشرية اختيارية واحدة، على سبيل المثال 7، 1.25، أو -22.5.
  • التدوين العلمي — اكتب رقمًا عشريًا يتبعه e أو e+، ثم عدد صحيح لرفع الرقم العشري إلى قوة 10. على سبيل المثال، 12e3 يعني 12 × 10^3 (12,000).
  • التدوين الست عشري (قاعدة 16) — ابدأ الرقم بـ 0x يتبعه أرقام 0-9 أو A-F (غير مهم الحالة). على سبيل المثال، 0xF يعني 15 و 0x3FC يعني 1020.
  • التدوين الثنائي (قاعدة 2) — ابدأ الرقم بـ 0b يتبعه 0s أو 1s، على سبيل المثال 0b1100 (12 في التنسيق العشري).

العمليات

يمكنك استخدام المنطق و العلاقات عاملات للتحكم ومقارنة الأرقام. يمكنك أيضًا استخدام الدوال الرياضية مثل math.sqrt() و math.exp() في مكتبة math وعميات بتية في مكتبة bit32.

استكشاف النوع

يمكنك تحديد ما إذا كانت القيمة x رقمًا باستخدام type(x) أو typeof(x). كلاهما يعيد السلسلة النصية number إذا كانت x رقمًا.


local testInt = 5
local testDecimal = 9.12761656
local testString = "Hello"
print(type(testInt)) --> number
print(type(testDecimal)) --> number
print(type(testString)) --> string
print(typeof(testInt)) --> number
print(typeof(testDecimal)) --> number
print(typeof(testString)) --> string

دوال التقريب

يمكنك تقريب الأرقام باستخدام math.floor(), math.ceil(), أو math.modf(). هذه الدوال تعيد نتيجة صحيحة إذا كان بإمكان Luau تمثيلها كعدد صحيح. إذا كانت الرقم كبير جدًا، فإن Luau يعيده كرقم عائم.

  • لتحديد ما إذا كان الرقم x عددًا صحيحًا، استخدم math.floor(x) == x.
  • لتقريب عدد لأسفل، استخدم math.floor().
  • لتقريب عدد لأعلى، استخدم math.ceil().
  • لتقريب عدد نحو الصفر، استخدم math.modf(). تعيد أيضًا الاختلاف الكسري للعدد المقرب كنتيجة ثانية.

print(math.floor(3.3)) --> 3
print(math.floor(-3.3)) --> -4
print(math.ceil(3.3)) --> 4
print(math.ceil(-3.3)) --> -3
print(math.modf(3.3)) --> 3 0.2999999999999998
print(math.modf(-3.3)) --> -3 -0.2999999999999998
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.