الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/toInt»

من موسوعة حسوب
لا ملخص تعديل
مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.toInt()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>toInt()‎</code> في Kotlin}}</noinclude>
تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code>.
تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Int|عدد صحيح]].


== البنية العامة ==
== البنية العامة ==
سطر 6: سطر 6:
inline actual fun String.toInt(): Int  
inline actual fun String.toInt(): Int  


</syntaxhighlight>تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code>  وتعيد الناتج.
</syntaxhighlight>تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Int|عدد صحيح]].


في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا، فسيُطلَق الاستثناء <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
inline actual fun String.toInt(radix: Int): Int  
inline actual fun String.toInt(radix: Int): Int  


</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.1'''
</syntaxhighlight>'''بيئة التشغيل المطلوبة''': Kotlin 1.1.


تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code> وتعيد الناتج.
تحلّل الدالة <code>toInt()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Int|عدد صحيح]].


في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>. أما في حال كان الوسيط المُمرّر <code>radix</code> غير صالح للتحويل من  [[Kotlin/String|سلسلة نصية]] إلى عدد  فستطلق استثناءً <code>IllegalArgumentException</code>.
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا، فسيُطلَق الاستثناء <code>NumberFormatException</code>. أما في حال كان المعامل <code>radix</code> المعطى أساسًا غير صالح لتحويل السلسلة النصية إلى عدد، فسيُطلَق الاستثناء <code>IllegalArgumentException</code>.


يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة [[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
 
== المعاملات ==
 
=== <code>radix</code> ===
عدد صحيح بين 2 و 36 الذي يُمثِّل أساس القيمة العددية المحتواة في السلسلة النصية والتي ستستعمل في عملية التحويل؛ لاستخدام نظام العد العشري (decimal) شائع الاستخدام بين البشر، فحدِّد القيمة 10.
 
إن كانت القيمة المعطاة لهذا المعامل غير صالحة، فسيُطلَق الاستثناء <code>IllegalArgumentException</code>.


== القيم المعادة ==
== القيم المعادة ==
عدد من النوع <code>Int</code>.
يعاد عدد من النوع <code>[[Kotlin/Int|Int]]</code> يمثل ناتج تحويل [[Kotlin/String|السلسلة النصية]] المعطاة.


== أمثلة ==
== أمثلة ==
 
مثالٌ<nowiki/> على استعمال الدالة <code>toInt()‎</code>:<syntaxhighlight lang="kotlin">
=== استخدام الدالة <code>toInt()‎</code> مع سلسلة نصية ===
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toInt()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
        println("43".toInt()) // 43
    println("43".toInt()) // 43
        println("32".toInt()) // 32
    println("32".toInt()) // 32
        println("032".toInt()) // 32
    println("032".toInt()) // 32
}
}
</syntaxhighlight>
</syntaxhighlight>
=== استخدام الدالة <code>toInt()‎</code> مع سلسلة نصية: الحالة الثانية ===
مثالٌ آخر على استعمال الدالة <code>toInt()‎</code> مع [[Kotlin/String|سلسلة نصية]] غير صالحة:<syntaxhighlight lang="kotlin">
الشيفرة الآتية تستدعي الدالة <code>toInt()‎</code> عبر [[Kotlin/String|سلسلة نصية]] غير صالحة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
        println("a43".toInt()) // إطلاق استثناء
    println("43m".toInt()) // إطلاق استثناء
}
}
</syntaxhighlight>
</syntaxhighlight>
المُخرجات:<syntaxhighlight lang="kotlin">
سيعطي هذه المثال عند تنفيذه الناتج التالي:<syntaxhighlight lang="text">
Exception in thread "main" java.lang.NumberFormatException: For input string: "a43"
Exception in thread "main" java.lang.NumberFormatException: For input string: "43m"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
    at java.lang.Integer.parseInt(Integer.java:615)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
    at Simplest_versionKt.main(Simplest version.kt:2)
at TestKt.main(test.kt:2)  
</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
سطر 56: سطر 60:


== مصادر ==
== مصادر ==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-int.html صفحة الدالة text.toInt()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-int.html صفحة الدالة toInt()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

مراجعة 07:17، 6 سبتمبر 2018

تحلّل الدالة toInt()السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد صحيح.

البنية العامة

inline actual fun String.toInt(): Int

تحلّل الدالة toInt()السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد صحيح. في حال لم تكن السلسلة النصية تمثل عددًا، فسيُطلَق الاستثناء NumberFormatException.

inline actual fun String.toInt(radix: Int): Int

بيئة التشغيل المطلوبة: Kotlin 1.1.

تحلّل الدالة toInt()السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد صحيح.

في حال لم تكن السلسلة النصية تمثل عددًا، فسيُطلَق الاستثناء NumberFormatException. أما في حال كان المعامل radix المعطى أساسًا غير صالح لتحويل السلسلة النصية إلى عدد، فسيُطلَق الاستثناء IllegalArgumentException.

يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

المعاملات

radix

عدد صحيح بين 2 و 36 الذي يُمثِّل أساس القيمة العددية المحتواة في السلسلة النصية والتي ستستعمل في عملية التحويل؛ لاستخدام نظام العد العشري (decimal) شائع الاستخدام بين البشر، فحدِّد القيمة 10.

إن كانت القيمة المعطاة لهذا المعامل غير صالحة، فسيُطلَق الاستثناء IllegalArgumentException.

القيم المعادة

يعاد عدد من النوع Int يمثل ناتج تحويل السلسلة النصية المعطاة.

أمثلة

مثالٌ على استعمال الدالة toInt()‎:

fun main(args: Array<String>) {
    println("43".toInt()) // 43
    println("32".toInt()) // 32
    println("032".toInt()) // 32
}

مثالٌ آخر على استعمال الدالة toInt()‎ مع سلسلة نصية غير صالحة:

fun main(args: Array<String>) {
    println("43m".toInt()) // إطلاق استثناء
}

سيعطي هذه المثال عند تنفيذه الناتج التالي:

Exception in thread "main" java.lang.NumberFormatException: For input string: "43m"
	at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.base/java.lang.Integer.parseInt(Integer.java:652)
	at java.base/java.lang.Integer.parseInt(Integer.java:770)
	at TestKt.main(test.kt:2)

انظر أيضًا

  • toDouble()‎ : تحلّل الدالة toDouble()‎ السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع Double وتعيد الناتج.
  • toUpperCase()‎ : تحوّل الدالة toUpperCase()‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
  • isDefined(): تعيد القيمة true في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).

مصادر