كيفية تنسيق الأرقام في التدوين الهندسي

استخدم التدوين الهندسي لعرض الأرقام بأسس تتوافق مع بادئات وحدات النظام الدولي

مقدمة

التدوين الهندسي هو طريقة لكتابة الأرقام باستخدام قوى العدد 10 حيث يكون الأس دائمًا من مضاعفات 3. بدلاً من عرض 123,000,000 على شكل 1.23×10⁸، يعرضه التدوين الهندسي على شكل 123×10⁶. هذا التوافق مع مضاعفات 3 يتطابق مع بادئات النظام الدولي للوحدات (SI) مثل كيلو (10³)، وميجا (10⁶)، وجيجا (10⁹).

يظهر هذا التدوين بشكل متكرر في الهندسة والإلكترونيات والسياقات العلمية حيث تستخدم القياسات بادئات النظام الدولي. فمكثف مقدر بـ 4.7×10⁻⁶ فاراد يصبح 4.7 ميكروفاراد. وتردد 2.4×10⁹ هرتز يصبح 2.4 جيجاهرتز. يجعل التدوين الهندسي هذه التحويلات طبيعية لأن الأس يتوافق مباشرة مع بادئة النظام الدولي.

توفر جافا سكريبت دعمًا مدمجًا للتدوين الهندسي من خلال واجهة برمجة التطبيقات Intl.NumberFormat. تتعامل واجهة البرمجة هذه مع التحويل تلقائيًا وتكيف التنسيق مع اللغات والمناطق المختلفة.

ما هو التدوين الهندسي

يعبر التدوين الهندسي عن الأرقام كمعامل مضروب في قوة 10، حيث يكون الأس دائمًا قابلاً للقسمة على 3. الرقم 987,654,321 يصبح 987.654×10⁶ في التدوين الهندسي، ويكتب كـ 987.654E6 في مخرجات جافا سكريبت.

يظهر المعامل كرقم بين 1 و999.999، متبوعًا بـ E والأس. يرمز E إلى الأس ويشير إلى الضرب بـ 10 مرفوعًا لتلك القوة. القيمة 987.654E6 تعني 987.654 × 10⁶، وهو ما يساوي 987,654,000.

يختلف هذا التنسيق عن التدوين العشري القياسي، الذي يكتب جميع الأرقام بفواصل مثل 987,654,321. كما يختلف عن التدوين المضغوط، الذي يستخدم أحرفًا مثل K وM وB لتمثيل المقادير. يُظهر التدوين الهندسي بوضوح قوة 10 باستخدام تدوين الأس.

لماذا تستخدم الصيغة الهندسية مضاعفات الثلاثة

يوجد القيد على مضاعفات الـ 3 لأن بادئات وحدات النظام الدولي (SI) تزيد أو تنقص بمعاملات 1000. كل خطوة للأعلى في مقياس البادئات تضرب بـ 10³، وكل خطوة للأسفل تقسم على 10³.

لنأخذ بعين الاعتبار بادئات النظام الدولي لقوى الـ 10:

  • 10³ = كيلو (k)
  • 10⁶ = ميجا (M)
  • 10⁹ = جيجا (G)
  • 10¹² = تيرا (T)
  • 10⁻³ = ميلي (m)
  • 10⁻⁶ = ميكرو (μ)
  • 10⁻⁹ = نانو (n)
  • 10⁻¹² = بيكو (p)

عندما يستخدم رقم الصيغة الهندسية بأس 6، فأنت تعلم أنه يتوافق مع بادئة الميجا. عندما يكون الأس -9، فأنت تعلم أنه يتوافق مع بادئة النانو. هذا التوافق المباشر يجعل الصيغة الهندسية عملية للمجالات التقنية حيث تهيمن وحدات النظام الدولي.

بدون هذا القيد، ستحتاج إلى إجراء عمليات حسابية ذهنية للتحويل بين الصيغة وبادئات النظام الدولي. مع هذا القيد، يكون التحويل فوريًا.

كيف تختلف الصيغة الهندسية عن الصيغة العلمية

تعبر الصيغة العلمية أيضًا عن الأرقام باستخدام قوى الـ 10، لكنها تستخدم أصغر أس ممكن. الرقم 987,654,321 يصبح 9.87654321×10⁸ في الصيغة العلمية، ويكتب كـ 9.87654321E8.

الصيغة العلمية تضع دائمًا رقمًا واحدًا غير صفري قبل النقطة العشرية. الصيغة الهندسية تسمح بوضع ما يصل إلى ثلاثة أرقام قبل النقطة العشرية لضمان أن الأس قابل للقسمة على 3.

const scientificFormatter = new Intl.NumberFormat("en-US", {
  notation: "scientific"
});

console.log(scientificFormatter.format(987654321));
// Output: "9.877E8"

const engineeringFormatter = new Intl.NumberFormat("en-US", {
  notation: "engineering"
});

console.log(engineeringFormatter.format(987654321));
// Output: "987.654E6"

المنسق العلمي ينتج 9.877E8، واضعًا رقمًا واحدًا قبل النقطة العشرية. المنسق الهندسي ينتج 987.654E6، واضعًا ثلاثة أرقام قبل النقطة العشرية للوصول إلى أس 6 بدلاً من 8.

كلتا الصيغتين تمثلان نفس القيمة، لكن الصيغة الهندسية تعطي الأولوية للتوافق مع بادئات النظام الدولي على حساب تقليل الأس.

استخدام التدوين الهندسي في جافاسكريبت

يتحكم خيار notation في Intl.NumberFormat في كيفية تمثيل الأرقام. ضبطه على "engineering" يُفعّل التدوين الهندسي.

const formatter = new Intl.NumberFormat("en-US", {
  notation: "engineering"
});

console.log(formatter.format(1500));
// Output: "1.5E3"

console.log(formatter.format(1500000));
// Output: "1.5E6"

console.log(formatter.format(1500000000));
// Output: "1.5E9"

يختار المنسق تلقائيًا الأس المناسب بناءً على حجم الرقم. يكون الأس دائمًا من مضاعفات 3، مما يضمن التوافق مع بادئات النظام الدولي للوحدات (SI).

لا تحتاج إلى حساب الأس الصحيح أو المعامل. تتعامل واجهة برمجة التطبيقات Intl مع هذه الحسابات بناءً على قيمة الرقم.

كيف ينسق التدوين الهندسي المقادير المختلفة

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

const formatter = new Intl.NumberFormat("en-US", {
  notation: "engineering"
});

console.log(formatter.format(0.0015));
// Output: "1.5E-3"

console.log(formatter.format(0.0000015));
// Output: "1.5E-6"

console.log(formatter.format(1.5));
// Output: "1.5E0"

console.log(formatter.format(1500));
// Output: "1.5E3"

console.log(formatter.format(1500000));
// Output: "1.5E6"

console.log(formatter.format(1500000000));
// Output: "1.5E9"

console.log(formatter.format(1500000000000));
// Output: "1.5E12"

الأرقام الصغيرة أقل من 1 تستخدم أسس سالبة. الرقم 0.0015 يصبح 1.5E-3، وهو ما يتوافق مع بادئة ملي. الرقم 0.0000015 يصبح 1.5E-6، وهو ما يتوافق مع بادئة ميكرو.

الأرقام حول 1 تستخدم أس 0. الرقم 1.5 يصبح 1.5E0، وهو ما يساوي 1.5 × 10⁰ = 1.5 × 1 = 1.5.

الأرقام الكبيرة تستخدم أسس موجبة. الرقم 1500 يصبح 1.5E3، وهو ما يتوافق مع بادئة كيلو. ويستمر النمط لبادئات ميجا، جيجا، وتيرا.

التحكم في المنازل العشرية في التدوين الهندسي

افتراضيًا، يتضمن المنسق عدة منازل عشرية في المعامل. يمكنك التحكم في الدقة باستخدام خيارات minimumFractionDigits و maximumFractionDigits.

const defaultFormatter = new Intl.NumberFormat("en-US", {
  notation: "engineering"
});

console.log(defaultFormatter.format(1234567));
// Output: "1.235E6"

const noDecimalsFormatter = new Intl.NumberFormat("en-US", {
  notation: "engineering",
  maximumFractionDigits: 0
});

console.log(noDecimalsFormatter.format(1234567));
// Output: "1E6"

const twoDecimalsFormatter = new Intl.NumberFormat("en-US", {
  notation: "engineering",
  maximumFractionDigits: 2
});

console.log(twoDecimalsFormatter.format(1234567));
// Output: "1.23E6"

خيار maximumFractionDigits يحد من عدد الأرقام التي تظهر بعد النقطة العشرية في المعامل. ضبطه على 0 يزيل جميع المنازل العشرية، ويظهر فقط الجزء الصحيح من المعامل.

يمكنك أيضًا فرض الحد الأدنى من المنازل العشرية للحفاظ على تنسيق متسق عبر أرقام متعددة.

const formatter = new Intl.NumberFormat("en-US", {
  notation: "engineering",
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
});

console.log(formatter.format(1000));
// Output: "1.00E3"

console.log(formatter.format(1500));
// Output: "1.50E3"

console.log(formatter.format(1234567));
// Output: "1.23E6"

هذا يضمن أن جميع الأرقام تظهر بمنزلتين عشريتين بالضبط، مما يساعد على الحفاظ على التناسق البصري في الجداول والتقارير.

كيفية عمل التدوين الهندسي عبر اللغات المختلفة

يتكيف التدوين الهندسي مع اتفاقيات اللغات المختلفة لفواصل الأرقام العشرية. يظل تنسيق الأس متسقًا، لكن تنسيق المعامل يتغير بناءً على اللغة.

const enFormatter = new Intl.NumberFormat("en-US", {
  notation: "engineering"
});

console.log(enFormatter.format(1234567));
// Output: "1.235E6"

const deFormatter = new Intl.NumberFormat("de-DE", {
  notation: "engineering"
});

console.log(deFormatter.format(1234567));
// Output: "1,235E6"

const frFormatter = new Intl.NumberFormat("fr-FR", {
  notation: "engineering"
});

console.log(frFormatter.format(1234567));
// Output: "1,235E6"

تستخدم اللغة الإنجليزية نقطة كفاصل عشري في المعامل. بينما تستخدم اللغتان الألمانية والفرنسية فاصلة كفاصل عشري. يبقى الرمز E والأس كما هما في جميع اللغات.

ينطبق هذا التوطين فقط على جزء المعامل. يتبع تدوين الأس باستخدام E وقيمة الأس الاتفاقيات العلمية الدولية ولا يتغير بين اللغات المختلفة.

دمج التدوين الهندسي مع خيارات التنسيق الأخرى

يعمل التدوين الهندسي مع خيارات تنسيق الأرقام الأخرى. يمكنك التحكم في التقريب والأرقام المعنوية وعرض الإشارة أثناء استخدام التدوين الهندسي.

const formatter = new Intl.NumberFormat("en-US", {
  notation: "engineering",
  signDisplay: "always"
});

console.log(formatter.format(1500000));
// Output: "+1.5E6"

console.log(formatter.format(-1500000));
// Output: "-1.5E6"

يتحكم خيار signDisplay في ما إذا كانت الأرقام الموجبة تُظهر علامة زائد. يؤدي ضبطه على "always" إلى عرض الإشارة لكل من القيم الموجبة والسالبة.

يمكنك أيضًا التحكم في الأرقام المعنوية بدلاً من المنازل العشرية.

const formatter = new Intl.NumberFormat("en-US", {
  notation: "engineering",
  minimumSignificantDigits: 4,
  maximumSignificantDigits: 4
});

console.log(formatter.format(1234567));
// Output: "1.235E6"

console.log(formatter.format(1567890));
// Output: "1.568E6"

تتحكم خيارات minimumSignificantDigits وmaximumSignificantDigits في العدد الإجمالي للأرقام ذات المعنى في المعامل، بدلاً من المنازل العشرية فقط.

متى تستخدم التدوين الهندسي

يعمل التدوين الهندسي بشكل أفضل في السياقات التقنية حيث تستخدم القياسات بادئات وحدات النظام الدولي (SI). تستخدم وثائق الإلكترونيات والأوراق العلمية والمواصفات الهندسية هذا التدوين بشكل شائع.

عند توثيق دائرة بمكثف سعته 4.7×10⁻⁶ فاراد، يعرض التدوين الهندسي القيمة كـ 4.7E-6. يتعرف المهندسون على هذا فورًا على أنه 4.7 ميكروفاراد. عند عرض تردد 2.4×10⁹ هرتز، يظهر التدوين الهندسي 2.4E9، والذي يتعرف عليه المهندسون على أنه 2.4 جيجاهرتز.

هذا التدوين أقل ملاءمة للجماهير العامة الذين قد لا يفهمون تدوين الأس. يجب أن تستخدم عدادات وسائل التواصل الاجتماعي وأسعار التجارة الإلكترونية ولوحات المعلومات الموجهة للمستهلكين التدوين القياسي أو التدوين المضغوط بدلاً من ذلك.

لا تستخدم التدوين الهندسي عندما تكون الدقة حاسمة وتهم جميع الأرقام. تتطلب الحسابات المالية والوثائق القانونية ومسارات التدقيق تمثيلات عشرية دقيقة. يجب أن يظهر رصيد البنك $1,234.56، وليس 1.23456E3.

ضع جمهورك في الاعتبار. يتوقع المهندسون والفيزيائيون والمهنيون التقنيون التدوين الهندسي ويفهمونه. يجد المستهلكون العاديون أن التدوين القياسي أو التدوين المضغوط أسهل للقراءة.