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

93 lines
6.7 KiB
Markdown
Raw Normal View History

---
title: Converting Strings to Numbers
localeTitle: تحويل السلاسل إلى أرقام
---
## تحويل السلاسل إلى أرقام
يوزع الدالة `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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators)
* [حاول](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) [parseInt ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt) و [parseFloat ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat) تحويل السلسلة إلى رقم إذا أمكن. على سبيل المثال ، `var x = parseInt("100"); // x = 100`
* سيتم تحويل [Number ()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number) إلى رقم يمكن تمثيل القيمة به. يشمل ذلك التواريخ في عدد المللي ثانية منذ منتصف ليلة 1 يناير 1970 بالتوقيت العالمي المنسق ، القيم المنطقية إلى 1 أو 0 ، والقيم التي لا يمكن تحويلها إلى رقم معروف ستصبح NaN. هذا يعني أنه ليس رقمًا ، وهو أيضًا رقم من الناحية الفنية!