طريقة JavaScript Math.ceil
يتم استخدام طريقة Math.CEIL لتجميع القيمة العددية ، أي للحصول على أصغر عدد صحيح أكبر من أو يساوي القيمة العددية. بناء الجملة كما يلي:
Math.ceil (x)
وصف المعلمة:
| المعلمة | يوضح |
|---|---|
| x | مطلوب. يجب أن تكون قيمة رقمية. |
نصيحة: هذه الطريقة هي بالضبط عكس طريقة Math.Floor.
Math.ceil طريقة مثال
<script language = "javaScript"> document.write (math.ceil (0.35) + "<br />") ؛ document.write (math.ceil (10) + "<br />")
قم بتشغيل هذا المثال والإخراج:
1
10
-10
-10
خطأ في طريقة Math.ceil؟
حاول تشغيل المثال التالي:
<script language = "javaScript"> document.write (Math.ceil (2.1/0.7)) ؛ </script> إن نتيجة تشغيل هذا المثال ليست الحصول على 3 كما توقعنا (2.1/0.7 = 3) ، ولكن 4. هذا يناقض بوضوح مع الحس السليم لدينا. هل هو خطأ في طريقة الرياضيات؟
الوضع الحقيقي هو أنه عند إجراء 2.1/0.7 حساب ، تتم معالجتها وفقًا لأرقام النقاط العائمة. نظرًا للعلاقات الثنائية ، من المستحيل أن تكون أجهزة الكمبيوتر دقيقة تمامًا بالنسبة لأرقام النقطة العائمة (أي أنها عادة ما تفقد تقدمًا بسيطًا) ، وبالتالي فإن نتيجة الحساب 2.1/0.7 لا تساوي تمامًا 3 ، ولكنها تتجاوز 3 قليلاً (تقريبًا: 3.000000000000004409). لذلك بعد تطبيق التعبير على Math.ceil () ، فإن النتيجة هي 4.
فيما يتعلق بمشكلة وظيفة السقف غير الدقيقة ، تم ذكرها أيضًا في المقالة "حلول للمقارنة والتقريب غير الدقيق لمقارنة أرقام النقاط العائمة PHP والحلول غير الدقيقة" في PHP ، يمكن معالجة وظيفة الجولة () بسهولة. ومع ذلك ، فإن Math.Round () في JavaScript قاسية للغاية ، لذلك يجب كتابة الوظيفة بشكل منفصل للتعامل مع هذا النوع من المواقف ، أي أن جميع القيم الزائدة بعد نقطة عشرية واحدة تتم إزالة ، ويتم استخدام طريقة Math.ceil ().