الدالة toBigInteger()‎ في Kotlin

من موسوعة حسوب
مراجعة 06:12، 6 سبتمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

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

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

inline fun String.toBigInteger(): BigInteger

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

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

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

inline fun String.toBigInteger(radix: Int): BigInteger

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

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

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

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

المعاملات

radix

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

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

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

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

أمثلة

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

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

مثالٌ آخر على استعمال الدالة toBigInteger()‎:

fun main(args: Array<String>) {
    val str = "aa12344565656"
    
    println(str.toBigInteger()) // الدالة ستطلق استثناء
}

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

Exception in thread "main" java.lang.NumberFormatException: For input string: "aa32"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.math.BigInteger.&amp;lt;init&amp;gt;(BigInteger.java:461)
    at java.math.BigInteger.&amp;lt;init&amp;gt;(BigInteger.java:597)
    at Simplest_versionKt.main(Simplest version.kt:4)

انظر أيضًا

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

مصادر