نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
AN

منهج Angular

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Angular /تنسيق النصوص والتواريخ والأرقام باستخدام الأنابيب المدمجة

تنسيق النصوص والتواريخ والأرقام باستخدام الأنابيب المدمجة

Built-in PipesDatePipeDecimalPipeCurrencyPipePercentPipeAngular 22.1

جدول مرجعي سريع

1
اسم الأنبوب المدمج (Built-in Pipe)الغرض المعماري الأساسيمثال على صيغة الاستخدام في القالب (Template Syntax)
DatePipeتنسيق التواريخ والوقائع الزمنية بناءً على إعدادات المنطقة الزمنية والمحلية{{ today | date: 'yyyy-MM-dd' }}
DecimalPipeضبط وتنسيق الأرقام العشريّة وتحديد الحد الأدنى والأقصى للأرقام{{ price | number: '1.2-2' }}
PercentPipeتحويل القيم العشرية إلى نسب مئوية مع تنسيق العلامة المئوية تلقائياً{{ ratio | percent: '1.0-1' }}

الشرح

استكمالاً لفلسفة التعامل مع تحويل البيانات في Angular 22.1، ننتقل اليوم بعمق نحو الأنابيب المدمجة الأكثر استخداماً في مشاريع المؤسسات الكبرى. عندما يتعلق الأمر بعرض تواريخ تتباين بناءً على النطاق الجغرافي (Locale)، أو أرقام مالية تتطلب فواصل دقيقة، فإن بناء هذه الوظائف يدوياً يعد إهداراً للوقت. توفر لنا أنجولر حزمة متكاملة من الأنابيب الجاهزة للتعامل مع النصوص، التواريخ، والأرقام بمعايير معمارية صارمة.

تفصيل فلسفة وعمل الأنابيب المدمجة

الاعتماد على محليّة التطبيق (Localization):

تتعرف الأنابيب المدمجة (مثل التواريخ والأرقام) تلقائياً على إعدادات اللغة الحالية للمستخدم، مما يضمن عرض الأرقام والتواريخ بالصيغة الثقافية الصحيحة دون الحاجة لكتابة شروط برمجية معقدة.

التحكم بالمعاملات الممررة (Parameters Formatting):

لا تقتصر الأنابيب على أداء وظيفة ثابتة، بل تدعم تمرير معاملات دقيقة عبر النقطتين الرأسيتين (:) لضبط شكل المخرجات بدقة متناهية (مثل تحديد عدد المنازل العشرية أو نمط عرض التاريخ).

أمثلة برمجية موسعة: التطبيق الهندسي للأنابيب المدمجة

المثال الأول: تنسيق التواريخ المتقدم باستخدام DatePipe

typescript
1import { Component } from '@angular/core';
2import { CommonModule } from '@angular/common';
3
4@Component({
5 selector: 'app-date-formatting-demo',
6 standalone: true,
7 imports: [CommonModule],
8 template: `
9 <div class="master-container">
10 <h3>تنسيق التواريخ المتقدم (DatePipe) في Angular 22.1</h3>
11 <p>شاهد مرونة عرض التواريخ بصيغ مختلفة:</p>
12
13 <div class="data-card">
14 <p><strong>التاريخ والوقت الخام:</strong> {{ currentTimestamp }}</p>
15 <p><strong>التاريخ بتنسيق قصير (shortDate):</strong> {{ currentTimestamp | date: 'shortDate' }}</p>
16 <p><strong>التاريخ بتنسيق مفصل (longDate):</strong> {{ currentTimestamp | date: 'longDate' }}</p>
17 <p><strong>استخراج الوقت فقط (mediumTime):</strong> {{ currentTimestamp | date: 'mediumTime' }}</p>
18 </div>
19 </div>
20 `,
21 styles: [`
22 .master-container { background: #090d16; color: #fff; padding: 24px; border-radius: 12px; }
23 .data-card { background: #1e293b; color: #38bdf8; padding: 16px; border-radius: 8px; margin: 12px 0; border: 1px solid #334155; font-weight: bold; }
24 .data-card p { margin: 8px 0; color: #e2e8f0; }
25 `]
26})
27export class DateFormattingDemoComponent {
28 currentTimestamp = new Date();
29}

المثال الثاني: تنسيق الأرقام والعملات باستخدام DecimalPipe و CurrencyPipe

typescript
1import { Component } from '@angular/core';
2import { CommonModule } from '@angular/common';
3
4@Component({
5 selector: 'app-numbers-formatting-demo',
6 standalone: true,
7 imports: [CommonModule],
8 template: `
9 <div class="master-container">
10 <h3>تنسيق الأرقام والعملات (Decimal & Currency Pipes)</h3>
11 <p>التحكم الصارم في إظهار الكسور والأقيم المالية:</p>
12
13 <div class="data-card">
14 <p><strong>الرقم الخام:</strong> {{ rawMetric }}</p>
15 <p><strong>بعد تنسيق الرقم (number: '1.2-3'):</strong> {{ rawMetric | number: '1.2-3' }}</p>
16 <p><strong>القيمة المالية بالدولار (currency: 'USD'):</strong> {{ rawMetric | currency: 'USD' }}</p>
17 </div>
18 </div>
19 `,
20 styles: [`
21 .master-container { background: #090d16; color: #fff; padding: 24px; border-radius: 12px; margin-top: 16px; }
22 .data-card { background: #1e293b; color: #38bdf8; padding: 16px; border-radius: 8px; margin: 12px 0; border: 1px solid #334155; font-weight: bold; }
23 .data-card p { margin: 8px 0; color: #e2e8f0; }
24 `]
25})
26export class NumbersFormattingDemoComponent {
27 rawMetric = 987654.56789;
28}

المثال الثالث: تنسيق النسب المئوية باستخدام PercentPipe

typescript
1import { Component } from '@angular/core';
2import { CommonModule } from '@angular/common';
3
4@Component({
5 selector: 'app-percent-formatting-demo',
6 standalone: true,
7 imports: [CommonModule],
8 template: `
9 <div class="master-container">
10 <h3>تنسيق النُسَب المئوية (PercentPipe)</h3>
11 <p>تحويل القيم العشرية إلى نسب مئوية منسقة بدقة:</p>
12
13 <div class="data-card">
14 <p><strong>القيمة العشرية الخام:</strong> {{ completionRatio }}</p>
15 <p><strong>بعد تنسيق النسبة (percent: '1.0-2'):</strong> {{ completionRatio | percent: '1.0-2' }}</p>
16 </div>
17 </div>
18 `,
19 styles: [`
20 .master-container { background: #090d16; color: #fff; padding: 24px; border-radius: 12px; margin-top: 16px; }
21 .data-card { background: #1e293b; color: #38bdf8; padding: 16px; border-radius: 8px; margin: 12px 0; border: 1px solid #334155; font-weight: bold; }
22 .data-card p { margin: 8px 0; color: #e2e8f0; }
23 `]
24})
25export class PercentFormattingDemoComponent {
26 completionRatio = 0.8492;
27}

نصائح احترافية

  • —احرص على تمرير المعاملات المخصصة للأنابيب بحذر!
  • —استخدام أنماط التنسيق المخصصة (مثل 'minInteger-minFraction.maxFraction') يمنحك سيطرة كاملة على شكل البيانات المعروضة للمستخدم، ويمنع اهتزاز واجهة المستخدم الناتجة عن اختلاف طول الأرقام أو النصوص غير المنضبطة.

الدرس السابق

ما هي الأنابيب في Angular وكيف تعمل

الدرس التالي

تنسيق العملات والنسب المئوية

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر