الانتقال إلى المحتوى الرئيسي

كيف يمكنني تحديد أن متغير يساوي نان?

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

لتحديد أن المتغير يساوي نان ، يمكنك استخدام وظيفة إسنان. تأخذ هذه الوظيفة وسيطة وتعود صحيحة إذا تعذر تحويل الوسيطة إلى رقم ، وخطأ خلاف ذلك. على سبيل المثال ، إذا قمت بتشغيل التعليمات البرمجية التالية:

}

ثم سيتم عرض الرسالة "متغير س هو نان" في وحدة التحكم. هذا يعني أن المتغير س يحتوي على القيمة نان.

يمكنك أيضا استخدام عامل مقارنة المساواة = = = للتحقق من متغير نان. ولكن في الوقت نفسه ، يجب أن نتذكر أن نان لا يساوي أي قيمة أخرى ، بما في ذلك نفسها. لذلك ، الكود التالي:

}

لن إخراج رسالة إلى وحدة التحكم, على الرغم من متغير ذ يحتوي على قيمة نان. للتحقق من نان ، استخدم وظيفة إسنان.

  1. كيف أدرك أن المتغير ليس رقما?
  2. التحقق من نان في جافا سكريبت
  3. طرق تعريف نان في بايثون
  4. سؤال وجواب
  5. ما هو نان?
  6. كيف يمكنني تحديد أن متغير يساوي نان?
  7. حصلت على نتيجة نان أثناء إجراء عملية حسابية. كيف يمكنني إصلاح هذا الخطأ?
  8. هل من الممكن مقارنة متغير مع نان باستخدام عامل المساواة?
  9. هل من الممكن للتحقق ما إذا كان المتغير هو نان باستخدام عامل المساواة الصارمة?
  10. ماذا يحدث إذا قمت بإجراء عملية حسابية مع نان وعدد?

كيف أدرك أن المتغير ليس رقما?

عند العمل مع المتغيرات في البرمجة ، يصبح من الضروري أحيانا تحديد ما إذا كانت قيمة المتغير رقما أم لا. هذا صحيح بشكل خاص عندما تحتاج إلى معالجة إدخال المستخدم أو البيانات من مصدر خارجي.

هناك عدة طرق لتحديد أن المتغير ليس رقما:

  1. استخدم وظيفة إسنان() :
  2. دعونا الأسطوانات = 42;
    إسنان (الأسطوانات) ؛ / / خطأ
    دعونا شارع = "مرحبا";
    إسنان (شارع) ؛ / / صحيح
  3. استخدم نوع المشغل:
  4. دعونا الأسطوانات = 42;
    نوع الأسطوانات === "رقم" ؛ / / صحيح
    let str = «Hello»;
    typeof str === «number»; // false
  5. Использовать метод Number.isNaN():
  6. let num = 42;
    Number.isNaN(num); // false
    let str = «Hello»;
    Number.isNaN(str); // false
    let nan = NaN;
    Number.isNaN(nan); // true

Как видно из примеров, результаты использования этих способов различаются. ترجع الدالة إسنان () صحيحا إذا تعذر تحويل القيمة التي تم تمريرها إلى رقم ، حتى لو كانت سلسلة من الأرقام. يقوم عامل تشغيل النوع بإرجاع السلسلة " رقم " فقط إذا كان المتغير يحتوي على رقم. الرقم.طريقة إسنان () ترجع صحيح فقط إذا كانت القيمة التي تم تمريرها هي نان.

يعتمد اختيار الطريقة على النتيجة المطلوبة لمهمة معينة. من المهم أن تأخذ في الاعتبار تفاصيل كل طريقة وأن تفهم بشكل صحيح القيمة التي تعتبر رقما أم لا رقما في موقف معين.

التحقق من نان في جافا سكريبت

في جافا سكريبت ، يتم استخدام وظيفة إسنان () للتحقق من قيمة غير رقمية نان (وليس عددا). يقوم بإرجاع قيمة منطقية من صحيح إذا كانت القيمة التي تم تمريرها إليها لا يمكن تحويلها إلى رقم ، وخطأ إذا كان التحويل ممكنا.

مثال على استخدام وظيفة إسنان() :

السماح س = 10 / "خمسة";

وحدة التحكم.سجل (إسنان (س)) ؛ / / صحيح

في هذا المثال ، ستكون قيمة المتغير س نان ، لأن عملية قسمة رقم على سلسلة لا معنى لها في الرياضيات. ترجع دالة إسنان () صحيحة ، حيث لا يمكن تحويل قيمة المتغير إلى رقم.

ومع ذلك ، فإن وظيفة إسنان() لديها ميزة معينة. يحاول أولا تحويل القيمة التي تم تمريرها إلى رقم ، ثم يتحقق مما إذا كانت النتيجة نان. لذلك ، إذا قمت بتمريرها سلسلة يمكن تحويلها إلى رقم (على سبيل المثال ، "10") ، فإن الدالة ترجع خطأ:

دع ص = "10";

وحدة التحكم.سجل (إسنان (ص)) ؛ / / خطأ

في هذه الحالة ، يمكن تحويل قيمة المتغير ص بنجاح إلى رقم ، وبالتالي فإن وظيفة إسنان() ترجع خطأ.

إذا كنت بحاجة إلى فحص نان دقيق بدون تحويل تلقائي للنوع ، فيمكنك استخدام الرقم.إسنان () وظيفة. يعود صحيحا فقط إذا كانت القيمة التي تم تمريرها هي نان:

دعونا ض = نان;

وحدة التحكم.سجل (رقم.إسنان (ض)) ؛ / / صحيح

في هذا المثال ، قيمة ض المتغير هو نان ، وبالتالي فإن الرقم.إسنان () وظيفة يعود صحيح.

وهكذا ، للتحقق من نان في جافا سكريبت ، يمكنك استخدام إسنان () أو عدد.إسنان () وظائف ، اعتمادا على دقة التحقق المطلوبة ومتطلبات تحويل نوع البيانات.

طرق تعريف نان في بايثون

نان (ليس رقما) هي قيمة خاصة في بايثون تشير إلى عدم وجود قيمة رقمية أو عدم يقين. يوفر بيثون عدة طرق مختلفة لتحديد نان ، والتي تسمح لك للتحقق من المتغيرات لهذه القيمة.

  • إسنان()

).

استيراد الرياضيات

س = تعويم ("نان")

النتيجة = الرياضيات.إسنان (خ)

طباعة (النتيجة) # الإخراج: صحيح

  • طريقة إيسينف ()

يسمح لك بتحديد ما إذا كان المتغير هو اللانهاية. يعتبر نان أيضا اللانهاية ، لذلك يمكن استخدام هذه الطريقة لتحديد نان.

استيراد الرياضيات

س = تعويم ("نان")

النتيجة = الرياضيات.إيسينف (خ)

طباعة (النتيجة) # الإخراج: صحيح

  • طريقة إسنان () من وحدة نمباي

لتحديد نان.

استيراد نومبي كما نب

س = نب.نان

النتيجة = نب.إسنان (خ)

طباعة (النتيجة) # الإخراج: صحيح

لإنشاء قيمة نان.

باستخدام هذه الأساليب ، يمكنك بسهولة تحديد ما إذا كان المتغير هو نان في بيثون.

سؤال وجواب

ما هو نان?

نان (وليس رقما) هي قيمة خاصة في جافا سكريبت تشير إلى عدم اليقين أو الخطأ عند إجراء العمليات الحسابية.

كيف يمكنني تحديد أن متغير يساوي نان?

للتحقق من نان ، يمكنك استخدام وظيفة إسنان (). فإنه يعود صحيح إذا كانت القيمة التي تم تمريرها إليها هي نان ، وكاذبة خلاف ذلك.

حصلت على نتيجة نان أثناء إجراء عملية حسابية. كيف يمكنني إصلاح هذا الخطأ?

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

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

عامل المساواة ( = = ) مع نان يعود دائما كاذبة. للتحقق من نان ، يجب عليك استخدام وظيفة إسنان ().

هل من الممكن للتحقق ما إذا كان المتغير هو نان باستخدام عامل المساواة الصارمة?

نعم ، يمكنك. عامل المساواة الصارمة ( = = = ) يعود صحيحا إذا كان المتغير هو في الواقع نان ، وخطأ خلاف ذلك.

ماذا يحدث إذا قمت بإجراء عملية حسابية مع نان وعدد?

إذا قمت بإجراء عملية حسابية مع نان ورقم ، فإن النتيجة ستكون أيضا نان. في مثل هذه الحالات ، سوف "تصيب" نان أي حسابات تواجهها.