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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.toDouble()‎ في لغة Kotlin}}</noinclude> تحلّل الدالة <code>toDouble()</code>‎ Kotlin/String|السلس...'
 
طلا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.toDouble()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>toDouble()‎</code> في Kotlin}}</noinclude>
تحلّل الدالة <code>toDouble()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
تحلّل الدالة <code>toDouble()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Double|عدد عشري مضاعف]].
 
في حال لم تكن [[Kotlin/String|السلسلة النصية]] تمثل عددًا، فسيُطلَق الاستثناء <code>NumberFormatException</code>.


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline actual fun String.toByte(): Byte
inline actual fun String.toDouble(): Double
 
</syntaxhighlight>تحلّل الدالة <code>toByte()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Byte</code>  وتعيد الناتج.
 
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
inline actual fun String.toByte(radix: Int): Byte
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.1'''
 
تحلّل الدالة <code>toByte()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>Byte</code> وتعيد الناتج.
 
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>. أما في حال كان الوسيط المُمرّر <code>radix</code> غير صالح للتحويل من  [[Kotlin/String|سلسلة نصية]] إلى عدد  فستطلق استثناءً <code>IllegalArgumentException</code>.


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


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


== أمثلة ==
== أمثلة ==
 
مثالٌ<nowiki/> على استعمال الدالة <code>toDouble()‎</code>:<syntaxhighlight lang="kotlin">
=== استخدام الدالة <code>toDouble()‎</code> مع سلسلة نصية ===
الشيفرة الآتية <nowiki/>تستدعي الدالة <code>toDouble()‎</code> عبر عدة  [[Kotlin/String|سلاسل نصية]]، وتطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
        println("43".toByte()) // 43
    println("43.1".toDouble()) // 43.1
        println("32".toByte()) // 32
    println("32.87".toDouble()) // 32.87
        println("032".toByte()) // 32
    println("0.12346789".toDouble()) // 0.12346789
}
}
</syntaxhighlight>
</syntaxhighlight>
=== استخدام الدالة <code>toByte()‎</code> مع سلسلة نصية: الحالة الثانية ===
مثالٌ على استعمال الدالة <code>toDouble()‎</code>:<syntaxhighlight lang="kotlin">
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code> ثم تستدعي الدالة <code>toByte()‎</code> عبرها مع تمرير  [[Kotlin/String|سلسلة نصية]] كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
        println("a43".toByte()) // 43
    println("12,3456".toDouble()) // إطلاق استثناء
}
}
</syntaxhighlight>سيعطي هذه المثال عند تنفيذه الناتج التالي:<syntaxhighlight lang="text">
Exception in thread "main" java.lang.NumberFormatException: For input string: "12,3456"
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.base/java.lang.Double.parseDouble(Double.java:543)
at TestKt.main(test.kt:2)
</syntaxhighlight>
</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.Byte.parseByte(Byte.java:149)
    at java.lang.Byte.parseByte(Byte.java:175)
    at Simplest_versionKt.main(Simplest version.kt:2)


</syntaxhighlight>
== انظر أيضًا ==
== انظر أيضًا ==
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
*الدالة [[Kotlin/kotlin.text/toBigDecimal|<code>toBigDecimal()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigDecimal</code>.
 
*الدالة [[Kotlin/kotlin.text/toBigInteger|<code>toBigInteger()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى عدد من النوع <code>BigDecimal</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/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/toShort|<code>toShort()</code>‎]]: تحلّل [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها وتحوّلها إلى [[Kotlin/Short|عدد قصير.]]
== مصادر ==
== مصادر ==
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-byte.html صفحة الدالة text.toDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-double.html صفحة الدالة toDouble()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

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

تحلّل الدالة toDouble()السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد عشري مضاعف.

في حال لم تكن السلسلة النصية تمثل عددًا، فسيُطلَق الاستثناء NumberFormatException.

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

inline actual fun String.toDouble(): Double

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

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

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

أمثلة

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

fun main(args: Array<String>) {
    println("43.1".toDouble()) // 43.1
    println("32.87".toDouble()) // 32.87
    println("0.12346789".toDouble()) // 0.12346789
}

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

fun main(args: Array<String>) {
    println("12,3456".toDouble()) // إطلاق استثناء
}

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

Exception in thread "main" java.lang.NumberFormatException: For input string: "12,3456"
	at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
	at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
	at java.base/java.lang.Double.parseDouble(Double.java:543)
	at TestKt.main(test.kt:2)

انظر أيضًا

مصادر