في ActionScript (NaN==parseFloat(input.text)) يحذر من أنه سيكون خطأ دائمًا.لماذا؟

StackOverflow https://stackoverflow.com/questions/150548

  •  02-07-2019
  •  | 
  •  

سؤال

على الرغم من وضوحا إلى حد ما توثيق الذي يقول ذلك تحليل عائم () يمكن إرجاع NaN كقيمة، عندما أكتب كتلة مثل:

if ( NaN == parseFloat(input.text) ) {
  errorMessage.text = "Please enter a number."
}

لقد حذرت من أن المقارنة ستكون خاطئة دائمًا.ويظهر الاختبار صحة التحذير.

أين توجد الوثائق المصححة، وكيف يمكنني كتابتها للعمل مع AS3؟

هل كانت مفيدة؟

المحلول

لأن مقارنة أي شيء بـ NaN دائمًا ما تكون خاطئة.استخدم isNaN() بدلاً من ذلك.

نصائح أخرى

isNaN(parseFloat(input.text))

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

if( number != number )
{
    //Is NaN 
}

يمكن العثور على الوثائق في مرجع لغة Adobe Flex هنا بالإضافة إلى الوظائف الأخرى المتاحة عالميًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top