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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع text.toBigDecimalOrNull()‎ في لغة Kotlin}}</noinclude> تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ Kotl...')
 
سطر 4: سطر 4:
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline fun String.toBigDecimal(): BigDecimal
+
fun String.toBigDecimalOrNull(): BigDecimal?
  
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2, JVM'''
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2, JVM'''
سطر 10: سطر 10:
 
تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>java.math.BigDecimal</code>  وتعيد الناتج.
 
تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>java.math.BigDecimal</code>  وتعيد الناتج.
  
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>.<syntaxhighlight lang="kotlin">
+
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستعيد القيمة <code>null</code>.<syntaxhighlight lang="kotlin">
inline fun String.toBigDecimal(
+
fun String.toBigDecimalOrNull(
 
     mathContext: MathContext
 
     mathContext: MathContext
): BigDecimal
+
): BigDecimal?
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2, JVM'''
 
</syntaxhighlight>'''بيئة التشغيل المطلوبة: Kotlin 1.2, JVM'''
  
 
تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>java.math.BigDecimal</code> وتعيد الناتج.
 
تحلّل الدالة <code>toBigDecimalOrNull()</code>‎ [[Kotlin/String|السلسلة النصية]] التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع <code>java.math.BigDecimal</code> وتعيد الناتج.
  
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستطلق الدالةُ استثناءً <code>NumberFormatException</code>. أما في حال كانت هناك ضرورة للقيام بالتقريب (rounding) لكنّ وضع التقريب مُعد على الوضع <code>java.math.RoundingMode.UNNECESSARY</code>،  فستطلق استثناءً <code>ArithmeticException</code>.
+
في حال لم تكن  [[Kotlin/String|السلسلة النصية]] تمثل عددًا فستعيد القيمة <code>null</code>. أما في حال كانت هناك ضرورة للقيام بالتقريب (rounding) لكنّ وضع التقريب مُعد على الوضع <code>java.math.RoundingMode.UNNECESSARY</code>،  فستطلق استثناءً <code>ArithmeticException</code>.
  
الوسيط <code>mathContext</code> يحدد دقة التقريب.
+
الوسيط <code>mathContext</code> يحدد دقة وضع التقريب (rounding mode).
  
 
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
 
== القيم المعادة ==
 
== القيم المعادة ==
عدد من النوع <code>java.math.BigDecimal.</code>
+
عدد من النوع <code>java.math.BigDecimal</code>
  
 
== أمثلة ==
 
== أمثلة ==
  
 
=== استخدام الدالة <code>toBigDecimalOrNull()‎</code> مع سلسلة نصية ===
 
=== استخدام الدالة <code>toBigDecimalOrNull()‎</code> مع سلسلة نصية ===
تُعرّف الشيفرة الآتية <nowiki/>[[Kotlin/String|سلسلة نصية]] باسم <code>str</code> ثم تستدعي الدالة <code>toBigDecimalOrNull()‎</code> عبرها، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تُعرّف الشيفرة الآتية <nowiki/>[[Kotlin/String|سلسلة نصية]] باسم <code>str</code> ثم تستدعي الدالة <code>toBigDecimalOrNull()‎</code> عبرها مع تمرير  [[Kotlin/String|سلسلة نصية]] كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
     val str = "12344565656"
 
     val str = "12344565656"
 
      
 
      
     println(str.toBigDecimal()) // 12344565656
+
     println(str.toBigDecimalOrNull()) // 12344565656
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
=== انظر أيضًا ===
+
===استخدام الدالة <code>toBigDecimal()‎</code> مع سلسلة نصية: الحالة الثانية===
 +
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code> ثم تستدعي الدالة <code>toBigDecimalOrNull()‎</code> عبرها مع تمرير  [[Kotlin/String|سلسلة نصية]] كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 +
fun main(args: Array<String>) {
 +
    val str = "aaa32"
 +
   
 +
    println(str.toBigDecimalOrNull()) // null
 +
}
 +
</syntaxhighlight>
 +
 
 +
== انظر أيضًا ==
 
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
 
* <code>[[Kotlin/text/toUpperCase|toUpperCase()]]</code>‎ : تحوّل الدالة <code>toUpperCase()</code>‎ الحرف أو السلسلة النصية التي استٌدعيت عبرها إلى حالة الأحرف الكبيرة (uppercase).
  

مراجعة 19:34، 12 يوليو 2018

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

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

fun String.toBigDecimalOrNull(): BigDecimal?

بيئة التشغيل المطلوبة: Kotlin 1.2, JVM

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

في حال لم تكن السلسلة النصية تمثل عددًا فستعيد القيمة null.

fun String.toBigDecimalOrNull(
    mathContext: MathContext
): BigDecimal?

بيئة التشغيل المطلوبة: Kotlin 1.2, JVM

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

في حال لم تكن السلسلة النصية تمثل عددًا فستعيد القيمة null. أما في حال كانت هناك ضرورة للقيام بالتقريب (rounding) لكنّ وضع التقريب مُعد على الوضع java.math.RoundingMode.UNNECESSARY، فستطلق استثناءً ArithmeticException.

الوسيط mathContext يحدد دقة وضع التقريب (rounding mode).

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

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

عدد من النوع java.math.BigDecimal

أمثلة

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

تُعرّف الشيفرة الآتية سلسلة نصية باسم str ثم تستدعي الدالة toBigDecimalOrNull()‎ عبرها مع تمرير سلسلة نصية كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
    val str = "12344565656"
    
    println(str.toBigDecimalOrNull()) // 12344565656
}

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

تُعرّف الشيفرة الآتية سلسلة نصية باسم str ثم تستدعي الدالة toBigDecimalOrNull()‎ عبرها مع تمرير سلسلة نصية كوسيط، ثم تطبع الناتج:

fun main(args: Array<String>) {
    val str = "aaa32"
    
    println(str.toBigDecimalOrNull()) // null
}

انظر أيضًا

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

مصادر