الفرق بين المراجعتين لصفحة: «JavaScript/Math/trunc»

من موسوعة حسوب
لا ملخص تعديل
 
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
 
سطر 85: سطر 85:
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.trunc ECMAScript Latest Draft].
* مسودة المعيار [https://tc39.github.io/ecma262/#sec-math.trunc ECMAScript Latest Draft].
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.trunc ECMAScript 2015 (6th Edition)]‎.  
* معيار [http://www.ecma-international.org/ecma-262/6.0/#sec-math.trunc ECMAScript 2015 (6th Edition)]‎.  
[[تصنيف:JavaScript]]
[[تصنيف:JavaScript|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Global Objects]]
[[تصنيف:JavaScript Global Objects|{{SUBPAGENAME}}]]
[[تصنيف:JavaScript Math]]
[[تصنيف:JavaScript Math|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 15:40، 28 يناير 2018

الدالة Math.trunc()‎ تعيد الجزء الصحيح من العدد بإزالة جميع الأرقام بعد الفاصلة العشرية.

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

Math.trunc(x)

x

العدد التي ستُجرى عليه العملية.

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

الجزء الصحيح من القيمة المعطاة.

الوصف

على النقيض من الدوال Math.floor()‎ و Math.ceil()‎ و Math.round()‎، طريقة عمل الدالة Math.trunc()‎ بسيطةٌ جدًا، فهي تقتطع (truncate) الفاصلة العشرية وما يليها من أرقام، بغض النظر عمّا إذا كان العدد موجبًا أم سالبًا.

سيحوّل الوسيط المُمرَّر إلى هذه الدالة إلى النوع Number ضمنيًا.

لمّا كانت الدالة trunc هي دالةٌ ساكنة (static method) تابعةٌ للكائن Math، فيجب عليك استخدامها دومًا بالشكل Math.trunc(x)‎، إذ لا تستطيع استخدامها كجزء من كائن Math خاص بك (تذكر أنَّ الكائن Math ليس له دالةٌ بانية).

أمثلة

أمثلة عن استخدام الدالة Math.trunc(x)‎:

Math.trunc(13.37);    // 13
Math.trunc(42.84);    // 42
Math.trunc(0.123);    //  0
Math.trunc(-0.123);   // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN);      // NaN
Math.trunc('foo');    // NaN
Math.trunc();         // NaN

تعويض نقص دعم المتصفحات

يمكن محاكاة هذه الدالة بالاستعانة بالدالة الآتية:

if (!Math.trunc) {
	Math.trunc = function(v) {
		v = +v;
		if (!isFinite(v)) return v;
		
		return (v - v % 1)   ||   (v < 0 ? -0 : v === 0 ? v : 0);
		
		// returns:
		//  0        ->  0
		// -0        -> -0
		//  0.2      ->  0
		// -0.2      -> -0
		//  0.7      ->  0
		// -0.7      -> -0
		//  Infinity ->  Infinity
		// -Infinity -> -Infinity
		//  NaN      ->  NaN
		//  null     ->  0
	};
}

نسخة مختصرة:

if (!Math.trunc) {
	Math.trunc = function(v) {
		v = +v;
		return (v - v % 1)   ||   (!isFinite(v) || v === 0 ? v : v < 0 ? -0 : 0);
	};
}

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

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 38 25 غير مدعومة 25 8

على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.

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