في ActionScript (NaN==parseFloat(input.text)) يحذر من أنه سيكون خطأ دائمًا.لماذا؟
-
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 هنا بالإضافة إلى الوظائف الأخرى المتاحة عالميًا.
لا تنتمي إلى StackOverflow