الفرق بين المراجعتين ل"Kotlin/kotlin.text/toIntOrNull"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.toIntOrNull()‎ في لغة Kotlin}}</noinclude> تحلّل الدالة <code>toIntOrNull()</code>‎ Kotlin/String|ال...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: التابع text.toIntOrNull()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: التابع text.toIntOrNull()‎ في لغة Kotlin}}</noinclude>
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
+
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code>.
  
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline actual fun String.toInt(): Int  
+
fun String.toIntOrNull(): Int?
  
 
</syntaxhighlight>تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code>  وتعيد الناتج.
 
</syntaxhighlight>تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code>  وتعيد الناتج.
  
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
+
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستعيد القيمة <code>null</code>.<syntaxhighlight lang="kotlin">
inline actual fun String.toInt(radix: Int): Int  
+
fun String.toIntOrNull(radix: Int): Int?
  
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.1'''
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.1'''
سطر 15: سطر 15:
 
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code> وتعيد الناتج.
 
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Int</code> وتعيد الناتج.
  
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>. أما في حال كان الوسيط المُمرّر <code>radix</code> غير صالح للتحويل من  [[Kotlin/String|سلسلة نصية]] إلى عدد  فستطلق استثناءً <code>IllegalArgumentException</code>.
+
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستعيد القيمة <code>null</code>. أما في حال كان الوسيط المُمرّر <code>radix</code> غير صالح للتحويل من  [[Kotlin/String|سلسلة نصية]] إلى عدد  فستطلق استثناءً <code>IllegalArgumentException</code>.
  
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
  
 
== القيم المعادة ==
 
== القيم المعادة ==
عدد من النوع <code>Int</code>.
+
عدد من النوع <code>Int</code> أو <code>null</code>.
  
 
== أمثلة ==
 
== أمثلة ==
سطر 27: سطر 26:
 
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toIntOrNull()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
 
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toIntOrNull()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
         println("43".toInt()) // 43
+
         println("43".toIntOrNull()) // 43
         println("32".toInt()) // 32
+
         println("32".toIntOrNull()) // 32
         println("032".toInt()) // 32
+
         println("032".toIntOrNull()) // 32
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 35: سطر 34:
 
الشيفرة الآتية تستدعي الدالة <code>toIntOrNull()‎</code> عبر [[Kotlin/String|سلسلة نصية]] غير صالحة:<syntaxhighlight lang="kotlin">
 
الشيفرة الآتية تستدعي الدالة <code>toIntOrNull()‎</code> عبر [[Kotlin/String|سلسلة نصية]] غير صالحة:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
         println("a43".toInt()) // إطلاق استثناء
+
         println("a43".toIntOrNull()) // null
 
}
 
}
</syntaxhighlight>
 
المُخرجات:<syntaxhighlight lang="kotlin">
 
Exception in thread "main" java.lang.NumberFormatException: For input string: "a43"
 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
 
    at java.lang.Integer.parseInt(Integer.java:580)
 
    at java.lang.Integer.parseInt(Integer.java:615)
 
    at Simplest_versionKt.main(Simplest version.kt:2)
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== انظر أيضًا ==
 
== انظر أيضًا ==
سطر 56: سطر 48:
  
 
== مصادر ==
 
== مصادر ==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-int.html صفحة الدالة text.toIntOrNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-int-or-null.html صفحة الدالة text.toIntOrNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

مراجعة 13:35، 13 يوليو 2018

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

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

fun String.toIntOrNull(): Int?

تحلّل الدالة toIntOrNull()السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع Int وتعيد الناتج. في حال لم تكن السلسلة النصية تمثل عددًا فستعيد القيمة null.

fun String.toIntOrNull(radix: Int): Int?

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

تحلّل الدالة toIntOrNull()السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع Int وتعيد الناتج.

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


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

عدد من النوع Int أو null.

أمثلة

استخدام الدالة toIntOrNull()‎ مع سلسلة نصية

الشيفرة الآتية تستدعي الدالة toIntOrNull()‎ عبر عدة سلاسل نصية، وتطبع الناتج:

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

استخدام الدالة toIntOrNull()‎ مع سلسلة نصية: الحالة الثانية

الشيفرة الآتية تستدعي الدالة toIntOrNull()‎ عبر سلسلة نصية غير صالحة:

fun main(args: Array<String>) {
        println("a43".toIntOrNull()) // null
}

انظر أيضًا

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

مصادر