freeCodeCamp/guide/arabic/javascript/converting-strings-to-numbers/index.md

6.7 KiB

title localeTitle
Converting Strings to Numbers تحويل السلاسل إلى أرقام

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

يوزع الدالة parseInt() وسيطة سلسلة وإرجاع عدد صحيح من radix المحدد (الأساسي في أنظمة الأرقام الرياضية).

parseInt(string, radix);

المعلمات

string

قيمة التحليل. إذا كانت string الحجة ليست سلسلة، ثم يتم تحويلها إلى سلسلة (باستخدام ToString عملية مجردة). يتم تجاهل المسافة البيضاء الرائدة في الوسيطة string. ' الأصل عدد صحيح بين 2 و 36 يمثل الراديكس (الأساس في أنظمة الأرقام الرياضية) للسلسلة المذكورة أعلاه. حدد الرقم 10 لنظام الأرقام العشري الذي يشيع استخدامه من قبل البشر. حدد دائمًا هذه المعلمة لإزالة ارتباك القراء وضمان سلوك يمكن التنبؤ به. تنتج التطبيقات المختلفة نتائج مختلفة عندما لا يتم تحديد radix ، وعادة ما تعطل القيمة إلى 10. قيمة الإرجاع رقم صحيح يتم تحليله من السلسلة المحددة. إذا كان لا يمكن تحويل الحرف الأول إلى رقم ، يتم إرجاع NaN .

وصف

تقوم الدالة parseInt بتحويل أول وسيطة لها إلى سلسلة ، وتقوم بتوزيعها وإرجاع عدد صحيح أو NaN . إذا لم يكن NaN ، ستكون القيمة التي تم إرجاعها العدد الصحيح الذي يمثل الوسيطة الأولى التي تم أخذها كرقم في radix المحدد (الأساسي). على سبيل المثال ، يشير radix 10 إلى تحويل من رقم عشري و 8 ثماني و 16 ست عشري وهكذا. بالنسبة للرادود فوق 10 ، تشير حروف الأبجدية إلى أرقام أكبر من 9. على سبيل المثال ، بالنسبة للأرقام السداسية العشرية (الأساس 16) ، يتم استخدام A إلى F

إذا واجه parseInt حرفًا ليس رقمًا في الجذر المحدد ، فإنه يتجاهله وجميع الأحرف المتتالية ويعيد قيمة العدد الصحيح إلى تلك النقطة. parseInt الأرقام إلى قيم عدد صحيح. يسمح المساحات الرائدة واللاحقة.

نظرًا لأن بعض الأرقام تتضمن حرف e في تمثيل السلسلة الخاصة بهم (مثل 6.022e23 ) ، فإن استخدام parseInt لاقتطاع قيم رقمية سيؤدي إلى نتائج غير متوقعة عند استخدامها على أعداد كبيرة أو صغيرة جدًا. لا يجب استخدام parseInt كبديل لـ Math.floor() .

إذا كان radix غير undefined أو 0 (أو undefined موجود) ، يفترض JavaScript ما يلي:

  • إذا كانت string الإدخال تبدأ بـ "0x" أو "0X" ، يكون radix 16 (سداسي عشري) ويتم تحليل الباقي من السلسلة.
  • إذا كانت string الإدخال تبدأ بـ "0" ، يكون الجذر ثمانية (ثماني) أو 10 (عشري). بالضبط ما هو اختيار radix هو معتمد على التنفيذ. يحدد ECMAScript 5 أنه يتم استخدام 10 (عشري) ، ولكن لا تدعم كل المتصفحات هذا حتى الآن. لهذا السبب ، حدد دائما الجذر عند استخدام parseInt.
  • إذا كانت string الإدخال تبدأ بأي قيمة أخرى ، يكون الجذر 10 (عشري).
  • إذا كان لا يمكن تحويل الحرف الأول إلى رقم ، فسيعيد parseInt NaN.

للأغراض الحسابية ، قيمة NaN ليست رقماً في أي radix. يمكنك استدعاء الدالة isNaN لتحديد ما إذا كانت نتيجة parseInt هي NaN. إذا تم نقل NaN إلى العمليات الحسابية ، فإن نتائج العملية ستكون أيضًا NaN.

لتحويل الرقم إلى السلسلة الحرفية الخاصة به في radix معين ، استخدم intValue.toString (radix).

أمثلة

باستخدام parseInt الأمثلة التالية كلها ترجع 15 :

parseInt(' 0xF', 16); parseInt(' F', 16); parseInt('17', 8); parseInt(021, 8); parseInt('015', 10); // parseInt(015, 10); will return 15 parseInt(15.99, 10); parseInt('15,123', 10); parseInt('FXX123', 16); parseInt('1111', 2); parseInt('15 * 3', 10); parseInt('15e2', 10); parseInt('15px', 10); parseInt('12', 13);

والأمثلة التالية كلها ترجع إلى NaN :

parseInt('Hello', 8); // Not a number at all parseInt('546', 2); // Digits are not valid for binary representations

الأمثلة التالية جميع العودة -15 :

parseInt('-F', 16); parseInt('-0F', 16); parseInt('-0XF', 16); parseInt(-15.1, 10) parseInt(' -17', 8); parseInt(' -15', 10); parseInt('-1111', 2); parseInt('-15e1', 10); parseInt('-12', 13);

الأمثلة التالية جميعها ترجع 4 :

parseInt(4.7, 10); parseInt(4.7 * 1e22, 10); // Very large number becomes 4 parseInt(0.00000000000434, 10); // Very small number becomes 4

المثال التالي إرجاع 224 :

parseInt('0e0', 16);

معلومات اكثر:

parseInt على MDN

  • حاول parseInt () و parseFloat () تحويل السلسلة إلى رقم إذا أمكن. على سبيل المثال ، var x = parseInt("100"); // x = 100
  • سيتم تحويل Number () إلى رقم يمكن تمثيل القيمة به. يشمل ذلك التواريخ في عدد المللي ثانية منذ منتصف ليلة 1 يناير 1970 بالتوقيت العالمي المنسق ، القيم المنطقية إلى 1 أو 0 ، والقيم التي لا يمكن تحويلها إلى رقم معروف ستصبح NaN. هذا يعني أنه ليس رقمًا ، وهو أيضًا رقم من الناحية الفنية!