"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > parseInt () مقابل Number (): كيف يختلفان في تحويل السلسلة إلى رقم؟

parseInt () مقابل Number (): كيف يختلفان في تحويل السلسلة إلى رقم؟

تم النشر بتاريخ 2024-11-20
تصفح:930

parseInt() vs. Number(): How Do They Differ in String-to-Number Conversion?

فهم الفروق الدقيقة في parseInt () و Number () في التحويل من سلسلة إلى رقم

عند التعامل مع سلسلة إلى رقم التحويل في JavaScript، من الضروري فهم الاختلافات بين parseInt() وNumber(). تظهر هاتان الطريقتان سلوكيات مميزة في التعامل مع مدخلات السلسلة.

الاختلافات الدلالية: التحليل مقابل تحويل النوع

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

أمثلة:

// Parsing
parseInt("20px");       // 20
parseInt("10100", 2);   // 20
parseInt("2e1");        // 2

// Type conversion
Number("20px");       // NaN
Number("2e1");        // 20 (exponential notation)

الأحرف اللاحقة والأثمانية الضمنية

يتجاهل parseInt () الأحرف اللاحقة التي لا تتوافق مع الأرقام الرقمية في القاعدة المحددة. ومع ذلك، لا يكتشف مُنشئ Number() الأرقام الثمانية الضمنية (الأرقام المسبوقة بـ 0، والتي تمثل نظامًا رقميًا ثمانيًا). يتم التعرف على التدوين الثماني الصريح (0o) بواسطة Number().

// Implicit octal detection
Number("010");         // 10
Number("0o10")         // 8

// Parsed as octal by default
parseInt("010");       // 8
parseInt("010", 10);   // 10 (force decimal radix)

التدوين السداسي العشري وعامل الجمع الأحادي

يمكن لكل من parseInt () و Number () التعامل مع التدوين السداسي العشري، والأرقام ممثلة ببادئة 0x البادئة. بالإضافة إلى ذلك، يمكن أيضًا استخدام Unary Plus Operator ( ) لإجراء تحويل نوع رقمي، أي ما يعادل استخدام مُنشئ Number().

// Hexadecimal notation
Number("0xF");   // 15
parseInt("0xF"); //15

// Unary Plus Operator
 "2e1";   // 20
 "0xF";   // 15
 "010";   // 10

من خلال فهم الخصائص المحددة لـ parseInt() وNumber()، يمكن للمطورين اتخاذ قرارات مستنيرة عند تحويل السلاسل إلى أرقام في JavaScript، مما يضمن نتائج دقيقة وموثوقة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3