تنسيق الأرقام والعملات
استخدموا Intl.NumberFormat لأرقام تراعي الإعدادات المحلية.
تنسيق الأرقام والعملات درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 4 دروس في المجموع.
مساحة الأسماء Intl
تُعدّ Intl واجهة JavaScript المدمجة للتدويل. فهي تنسّق الأرقام والتواريخ والعملات وغير ذلك وفق اصطلاحات locale، من دون الحاجة إلى مكتبة.
console.log(typeof Intl); // "object"
console.log(typeof Intl.NumberFormat); // "function"أساسيات Intl.NumberFormat
أنشئوا منسّقًا باستخدام locale، ثم استدعوا format(). تستخدم locales وسوم BCP 47 مثل "en-US" أو "de-DE".
const nf = new Intl.NumberFormat("en-US");
console.log(nf.format(1234567.89)); // "1,234,567.89"اختلافات locale
يظهر الرقم نفسه بشكل مختلف حسب locale. وتستخدم اللغة الألمانية النقاط للفصل بين الآلاف والفاصلة العشرية.
const n = 1234567.89;
console.log(new Intl.NumberFormat("en-US").format(n)); // 1,234,567.89
console.log(new Intl.NumberFormat("de-DE").format(n)); // 1.234.567,89تنسيق العملات
مرّروا style: "currency" ورمز currency. ويتبع الرمز وموقعه locale المحدد.
const usd = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
console.log(usd.format(2999.5)); // "$2,999.50"العملة عبر locales
تبقى العملة نفسها، لكن طريقة عرضها تتكيف مع locale المختار.
const opts = { style: "currency", currency: "EUR" };
console.log(new Intl.NumberFormat("en-IE", opts).format(1000)); // €1,000.00
console.log(new Intl.NumberFormat("de-DE", opts).format(1000)); // 1.000,00 €تنسيق النسب المئوية
يضرب style: "percent" القيمة في 100، ثم يضيف علامة النسبة المئوية الخاصة بـ locale.
const pct = new Intl.NumberFormat("en-US", { style: "percent" });
console.log(pct.format(0.1875)); // "19%"
console.log(new Intl.NumberFormat("en-US", { style: "percent", maximumFractionDigits: 2 }).format(0.1875)); // "18.75%"التحكم في الخانات العشرية
يتحكم minimumFractionDigits وmaximumFractionDigits في عدد الخانات العشرية.
const f = new Intl.NumberFormat("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
console.log(f.format(3)); // "3.00"
console.log(f.format(3.14159)); // "3.14"الوحدات
يُنسّق style: "unit" مع unit قياسات مثل الكيلومترات أو اللترات.
const speed = new Intl.NumberFormat("en-US", { style: "unit", unit: "kilometer-per-hour" });
console.log(speed.format(120)); // "120 km/h"الترميز المختصر
يختصر notation: "compact" الأرقام الكبيرة (1.2K، 3.4M)، وهو مناسب جدًا لعرض أعداد التفاعلات على وسائل التواصل الاجتماعي.
const c = new Intl.NumberFormat("en-US", { notation: "compact" });
console.log(c.format(1500)); // "1.5K"
console.log(c.format(2300000)); // "2.3M"عرض الإشارة
يعرض signDisplay: "always" الإشارة حتى للقيم الموجبة، وهو مفيد للفروق والتغييرات.
const s = new Intl.NumberFormat("en-US", { signDisplay: "always" });
console.log(s.format(5)); // "+5"
console.log(s.format(-5)); // "-5"إعادة استخدام المنسّقات
إنشاء المنسّق مكلف نسبيًا. أنشئوه مرة واحدة وأعيدوا استخدامه لعدد كبير من القيم بدلًا من إنشاء منسّق في كل استدعاء.
const money = new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" });
const prices = [9.99, 19.5, 100];
console.log(prices.map((p) => money.format(p)));اختبار سريع
اختبروا تنسيق الأرقام.
مراجعة: الأرقام والعملات
نسّقتم الأرقام وفق locale، وتعاملتم مع العملات والنسب المئوية والوحدات والترميز المختصر وعرض الإشارة، وتحكمتم في الخانات العشرية، وتعلمتم إعادة استخدام المنسّقات. التالي: التواريخ والأوقات.
الأسئلة الشائعة
هل درس «تنسيق الأرقام والعملات» مجاني؟
نعم — نص درس «تنسيق الأرقام والعملات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 4 دروس في المجموع.
ماذا ستتعلم في «تنسيق الأرقام والعملات»؟
استخدموا Intl.NumberFormat لأرقام تراعي الإعدادات المحلية. تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «تنسيق الأرقام والعملات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تنسيق الأرقام والعملات
- تنسيق التواريخ والأوقات
- الوقت النسبي وصيغ الجمع
- الفرز المراعي للإعدادات المحلية