Number.prototype.toPrecision()‎

من موسوعة حسوب
مراجعة 12:48، 3 ديسمبر 2017 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الدالة Number.prototype.toPrecision()‎ تُعيد سلسلةً نصيةً تُمثِّل العدد بدقة معيّنة.

البنية العامة

numObj.toPrecision([precision])

precision

وسيطٌ اختياريٌ يُمثِّل عدد الأرقام المهمة.

القيمة المعادة

سلسلة نصيّة تُمثِّل الكائن Number بالشكل العلمي (exponential) أو مع استخدام فاصلة عشرية (fixed-point) مُقرّبًا إلى قيمة الوسيط precision. راجع صفحة الدالة Number.prototype.toFixed()‎ لشرحٍ وأمثلةٍ عن طريقة التقريب.

إذا لم تُحدَّد قيمة للوسيط precision فستسلك هذه الدالة سلوك الدالة Number.prototype.toString()‎، وإذا لم تكن قيمة الوسيط precision عددًا صحيحًا فستُقرّب القيمة إلى أقرب عدد صحيح.

الاستثناءات

RangeError

سيرمى هذا الاستثناء إذا لم تكن قيمة الوسيط precision بين 1 و 100.

أمثلة

مثال عن عدد أكبر من 1:

var numObj = 5.123456;

console.log(numObj.toPrecision());    // '5.123456'
console.log(numObj.toPrecision(5));   // '5.1235'
console.log(numObj.toPrecision(2));   // '5.1'
console.log(numObj.toPrecision(1));   // '5'

مثال عن عدد أصغر من 1:

var numObj = 0.000123

console.log(numObj.toPrecision());    // '0.000123'
console.log(numObj.toPrecision(5));   // '0.00012300'
console.log(numObj.toPrecision(2));   // '0.00012'
console.log(numObj.toPrecision(1));   // '0.0001'

لاحظ أنَّه في بعض الأحيان ستُستخدَم الصيغة العلمية (exponential):

console.log((1234.5).toPrecision(2)); // '1.2e+3'

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات