الفرق بين المراجعتين لصفحة: «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: الدالة <code>toIntOrNull()‎</code> في Kotlin}}</noinclude>
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
تحلّل الدالة <code>toIntOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Int|عدد صحيح]].


== البنية العامة ==
== البنية العامة ==
<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|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Int|عدد صحيح]].


في حال لم تكن  [[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.


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


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


يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
== المعاملات ==


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


إن كانت القيمة المعطاة لهذا المعامل غير صالحة، فسيُطلَق الاستثناء <code>IllegalArgumentException</code>.
==القيم المعادة==
يعاد عدد من النوع <code>[[Kotlin/Int|Int]]</code> يمثل ناتج تحويل [[Kotlin/String|السلسلة النصية]] المعطاة، أو تعاد القيمة <code>null</code> في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا.
== أمثلة ==
== أمثلة ==
 
مثالٌ<nowiki/> على استعمال الدالة <code>toIntOrNull()‎</code>:<syntaxhighlight lang="kotlin">
=== استخدام الدالة <code>toIntOrNull()‎</code> مع سلسلة نصية ===
الشيفرة الآتية <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
    println("43m".toIntOrNull()) // null
}
}
</syntaxhighlight>
=== استخدام الدالة <code>toIntOrNull()‎</code> مع سلسلة نصية: الحالة الثانية ===
الشيفرة الآتية تستدعي الدالة <code>toIntOrNull()‎</code> عبر [[Kotlin/String|سلسلة نصية]] غير صالحة:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
        println("a43".toInt()) // إطلاق استثناء
}
</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>
== انظر أيضًا ==
== انظر أيضًا ==
* <code>[[Kotlin/kotlin.text/toDouble|toDouble()]]</code>‎ : تحلّل الدالة <code>toDouble()</code>‎ السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Double</code> وتعيد الناتج.
*الدالة [[Kotlin/kotlin.text/toBigDecimal|<code>toBigDecimal()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
 
*الدالة <code>[[Kotlin/kotlin.text/toBigDecimalOrNull|toBigDecimalOrNull()]]</code>: تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
*الدالة [[Kotlin/kotlin.text/toBigInteger|<code>toBigInteger()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
 
*الدالة [[Kotlin/kotlin.text/toBigIntegerOrNull|<code>toBigIntegerOrNull()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigInteger</code>.
*<code>[[Kotlin/text/isDefined|toBigDecimalOrNull()]]‎</code>: تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
*الدالة [[Kotlin/kotlin.text/toByte|<code>toByte()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>[[Kotlin/Byte|Byte]]</code>.
*<code>[[Kotlin/kotlin.text/toBigDecimal|toBigDecimal()]]</code>: تحلّل الدالة <code>toBigDecimal()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
*الدالة <nowiki/>[[Kotlin/kotlin.text/toDoubleOrNull|<code>toDoubleOrNull()</code>‎]]: تحلّل السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى <nowiki/>[[Kotlin/Double|عدد عشري مضاعف]].
 
* <code>[[Kotlin/text/isDefined|isDefined()]]‎</code>: تعيد القيمة <code>true</code> في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).


*الدالة <nowiki/>[[Kotlin/kotlin.text/toFloat|<code>toFloat()</code>‎]]: تحلّل السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى <nowiki/>[[Kotlin/Float|عدد عشري]].
*الدالة <nowiki/>[[Kotlin/kotlin.text/toFloatOrNull|<code>toFloatOrNull()</code>‎]]: تحلّل السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى <nowiki/>[[Kotlin/Float|عدد عشري]].
*الدالة <nowiki/>[[Kotlin/kotlin.text/toHashSet|<code>toHashSet()</code>‎]]: تحلّل كائنًا من النوع <code>HashSet</code> يحوي كل محارف <nowiki/>[[Kotlin/CharSequence/index|السلسلة]] التي استٌدعيت معها.
*الدالة <nowiki/>[[Kotlin/kotlin.text/toInt|<code>toInt()</code>‎]]: تحلّل السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد صحيح.
*الدالة [[Kotlin/kotlin.text/toList|<code>toList()</code>‎]]: تضيف كل محارف [[Kotlin/CharSequence|سلسلة المحارف]] التي استٌدعيت معها إلى [[Kotlin/collections/List|قائمة]]، إذ يوضع كل محرف في عنصر.
*الدالة <code>[[Kotlin/kotlin.text/toLong|toLong()]]</code>‎: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Long|عدد طويل]].
*الدالة [[Kotlin/kotlin.text/toLongOrNull|<code>toLongOrNull()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى [[Kotlin/Long|عدد طويل]].
*الدالة [[Kotlin/kotlin.text/toShortOrNull|<code>toShortOrNull()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Short|عدد قصير]].
*الدالة [[Kotlin/kotlin.text/toSortedSet|<code>toSortedSet()</code>‎]]: تضيف كل محارف [[Kotlin/CharSequence|السلسلة]]  التي استٌدعيت معها إلى مجموعة من النوع <code>[[Kotlin/collections/SortedSet|SortedSet]]</code>، إذ يوضع كل محرف في عنصر.
*الدالة [[Kotlin/kotlin.text/toString|<code>toString()</code>‎]] : تحول العدد الذي استٌدعي معها وفقًا لأساس مُحدّد إلى [[Kotlin/String|سلسلة نصية]].
== مصادر ==
== مصادر ==
* [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 صفحة الدالة toIntOrNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 11:41، 6 سبتمبر 2018

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

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

fun String.toIntOrNull(): Int?

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

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

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

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

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

المعاملات

radix

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

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

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

يعاد عدد من النوع Int يمثل ناتج تحويل السلسلة النصية المعطاة، أو تعاد القيمة null في حال لم تكن السلسلة النصية تمثل عددًا.

أمثلة

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

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

انظر أيضًا

مصادر