يقوم كل من Fix(number) وInt(number) بإرجاع الجزء الصحيح من الرقم، Round(number, numdecimalplaces). تشير المعلمة الثانية إلى الرقم الموجود على يمين العلامة العشرية لإجراء التقريب 0، أي أن التقريب يُرجع عددًا صحيحًا .
عندما يكون الرقم رقمًا موجبًا، تكون قيمتا الإرجاع متماثلتين. على سبيل المثال: Fix(3.6)=3, Int(3.6)=3.
عندما يكون الرقم رقمًا سالبًا، تقوم الدالة Fix بإزالة الجزء العشري مباشرةً، وترجع Int أول عدد صحيح سالب أقل من الرقم أو يساويه. على سبيل المثال: Fix(-3.6)=-3، Int(-3.6)=-4.
Round(number, numdecimalplaces)، تشير المعلمة الثانية إلى الرقم الموجود على يمين العلامة العشرية للتقريب، والذي يمكن حذفه. القيمة الافتراضية هي 0، مما يعني أن التقريب يُرجع عددًا صحيحًا. يستخدم CInt(number) التقريب لإزالة الجزء العشري.
إذا تم حذف المعلمة الثانية لـ Round، فستكون وظائف Round وCInt هي نفسها.
عندما يكون الرقم رقمًا موجبًا، يكون Round(3.6)=4، CInt(3.6)=4. لاحظ أنه عندما يكون الجزء العشري هو 0.5 بالضبط، يتم تقريبه دائمًا إلى أقرب رقم زوجي. على سبيل المثال، Round(3.5)=4، Round(4.5)=4.
عندما يكون الرقم رقمًا سالبًا، يمكن فهمه على النحو التالي (بافتراض أن n رقم موجب):
Round(-n) = -Round(n)، على سبيل المثال: Round(-3.5) = -4.
CInt(-n) = -CInt(n)، على سبيل المثال: CInt(-99.8) = -100.
العديد من وظائف التقريب في asp هي:fix(), int(), round();
تقوم الدالتان Int(number) وFix(number) بإرجاع الجزء الصحيح من الرقم. يمكن أن تكون معلمة الرقم أي تعبير رقمي صالح. إذا كانت معلمة الرقم تحتوي على Null، فسيتم إرجاع Null.
مثال:
انسخ رمز الكود كما يلي:
استجابة.كتابة int(2.14) '2
استجابة.كتابة الإصلاح (2.14) '2
استجابة.كتابة int(2.54) '2
استجابة.كتابة int(2.54) '2
تعمل كل من الدالتين Int وFix على إزالة الجزء العشري من وسيطة الرقم وإرجاع النتيجة كعدد صحيح. الفرق بين الدالتين Int وFix هو أنه إذا كانت معلمة الرقم رقمًا سالبًا، فإن الدالة Int ترجع أول عدد صحيح سالب أقل من أو يساوي الرقم، بينما ترجع الدالة Fix أول عدد صحيح سالب أكبر من أو يساوي الرقم المعلمة. على سبيل المثال، يقوم Int بتحويل -8.4 إلى -9، وتقوم الدالة Fix بتحويل -8.4 إلى -8.
round(Expression[, numdecimalplaces]) يُرجع رقمًا مقربًا إلى العدد المحدد من الأرقام. التعبير مطلوب . يتم تقريب التعبيرات الرقمية. Numdecimalplaces اختيارية. يشير الرقم إلى عدد الأرقام الموجودة على يمين العلامة العشرية المستخدمة للتقريب. إذا تم حذفها، تقوم الدالة Round بإرجاع عدد صحيح.
مثال:
انسخ رمز الكود كما يلي:
استجابة. اكتب الجولة (3.14) '3
استجابة. اكتب الجولة (3.55) '4
استجابة. اكتب جولة (3.1415,3) '3.142
وظيفة التقريب ASP
وظيفة التقريب
يعلم الجميع أنه في لغة BASIC، يوفر لنا النظام العديد من الوظائف القياسية، ووظيفة التقريب هي إحدى الوظائف المهمة جدًا.
1. تنسيق ووظيفة دالة التقريب.
1. التنسيق: INT (X)
2. الدالة: الحصول على أكبر عدد صحيح لا يزيد عن X
3. الوصف: INT هو اسم الوظيفة، الذي لا يمكن تغييره. X هو المتغير المستقل، الذي له أشكال مختلفة ويمكن أن يكون ثوابت رقمية، ومتغيرات رقمية، وتعبيرات رقمية.
على سبيل المثال: INT(3.1416)=3
إنت(3.8752)=3
إنت(-3.14)=-4
إنت(-3.85)=-4
من السؤال أعلاه، يمكننا أن نرى أنه بالنسبة للأرقام الموجبة ذات الأجزاء العشرية، INT
بعد التقريب، يتم تقريب الجزء العشري، ولكن لا يتم إجراء أي تقريب بالنسبة للأرقام السالبة ذات الكسور العشرية، لا يقوم INT بتقريب العلامة العشرية مباشرة بعد التقريب، ولكنه يأخذ عددًا صحيحًا أصغر بمقدار 1 من الجزء التكاملي الخاص به. بالطبع، بالنسبة للأعداد الصحيحة الحقيقية، فإن قيمتها لا تتغير بعد INT.
2. تطبيق وظيفة التقريب
1. تقريب القيم
(1) احتفظ بالجزء الصحيح من قيمة X وقم بتقريب الجزء العشري.
التعبير هو: INT (X*100+0.5)
على سبيل المثال:
INT(3.1416+0.5)=INT(3.6416)=3
INT(3.8572+0.5)=INT(4.3572)=4
INT(-3.14+0.5)=INT(-2.64)=-3
INT(-3.85+0.5)=INT(-3.35)=-4
من خلال تحليل المثال أعلاه، قد نرى أن مفتاح استخدام دالة التقريب INT لتحقيق دالة التقريب هو 0.5. من منظور محور الرقم، فإن إضافة 0.5 إلى الرقم يعادل نقل قيمته إلى اليمين 0.5 حسب الرقم الأول بعد العلامة العشرية صغير 5 أو أكبر من أو يساوي 5، يحدد ما إذا كان الرقم يمر عبر عدد صحيح أثناء الحركة إلى اليمين، لأن الدالة INT تأخذ قيمة أكبر عدد صحيح إلى يساره، وإذا مرت عبر عدد صحيح، فستكون النتيجة هذا العدد الصحيح، وإلا فهو نفس نتيجة التقريب المباشر للرقم الأصلي. وبهذه الطريقة، من الممكن تحقيق غرض التقريب.
(2) احتفظ بمنزلتين عشريتين لقيمة X، وقم بالتقريب إلى العلامة العشرية الثالثة.
التعبير: INT (X*100+0.5)/100
على سبيل المثال:
إنت(3.1416*100+0.5)/100
=INT(314.16+0.5)/100
=INT(314.66)/100
=314*100
=3.14
إنت(3.8572*100+0.5)/100
=INT(385.72+0.5)/100
=INT(386.22)/100
=386/100
=3.86
الفرق الوحيد بين الاحتفاظ بالتقريب والاحتفاظ بالرقم 1 أعلاه هو موضع العلامة العشرية. نحتاج فقط إلى إيجاد طريقة لتغيير موضع العلامة العشرية، لذا فإن الطريقة التي نستخدمها هي توسيع X أولاً بمقدار 100 مرة، ثم القيام بذلك. التقريب حسب الطريقة الأولى، وأخيراً تقليله بمقدار 100 مرة، حتى لا يتأثر الحجم الأساسي للرقم ويمكن تقريبه.
ملخص 1
التعبير العام للاحتفاظ بالمنازل العشرية N لقيمة X والتقريب إلى المنزلة العشرية N+1 هو:
إنت (x*10^N+0.5)/X*10^N
2. حدد ما إذا كان الرقم M قابلاً للقسمة على الرقم N
على سبيل المثال: تحديد تكافؤ الرقم، أي ما إذا كان يقبل القسمة على 2
م=25 م=24
م/2=12.5 م/2=12
INT(M/2)=12 INT(M/2)
من السهل استخلاص النتيجة من التعبير أعلاه: 25 رقم فردي، 25/2<>INT(25/2)، 24 رقم زوجي، 24/2=INT(24/2)، الدالة INT يمكن تقريب الجزء العشري، بالنسبة للرقم M، يمكن أن تكون M/2 مساوية لـ INT(M/2) فقط عندما تكون M قابلة للقسمة على 2، لذلك يمكن كتابة التعبير في هذا السؤال على النحو التالي:
عندما يكون M/2 <>INT(M/2)، يكون M رقمًا فرديًا
عندما يكون M/2=INT(M/2)، يكون M رقمًا زوجيًا
ملخص 2
الرقم M قابل للقسمة على الرقم N: M/N=INT(M/N)
الرقم M غير قابل للقسمة على N: M/N<>INT(M/N)
3. الفرق بين CINT(X) وFIX(X)
3. تقوم CINT(X) بتقريب الجزء العشري من X ثم تقريبه إلى عدد صحيح.
يقوم FIX(X) باقتطاع الجزء العشري وتدويره
الجدول التالي عبارة عن مقارنة بين قيم الدوال الثلاث:
X إنت(X) سينت(X) فيكس(X)
3.26 3 3 3
3.76 3 4 3
-3.26 -4 -3 -3
-3.76 -4 -4 -3 :
ملخص 3
عندما يكون X>=0، تكون قيمة INT(X) هي نفسها،
عندما يكون X<0، تكون قيمة INT(X) دائمًا أقل من 1؛
تقوم CINT(X) بتقريب الجزء العشري من X، ووظيفتها هي نفسها INT(X+0.5)