• 0

كيف أستخرج القيم العددية الموجودة في متغيّر String على Perl؟

في لغة Perl  لي متغير من نوع String  به قيمة عددية، وأسأل عن كيفية جلب هذا الرقم؟ هل سأحتاج إلى cast لذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

مرحبا، يُمكنك القيّام بالأمر بالسّطر التّالي:

$str=~ s/[^0-9]//g;

هذا السّطر يزيل جميع القيّم غير العدديّة، ويبقي فقط على القيم العدديّة فقط

مثال:

لدينا متغيّر $str يحوي نصوصا وأعدادا:

$str="hello 34 some text";

إذا أردنا استخراج القيمة 34 من هذا المتغيّر فكلّ ما علينا هوّ إضافة ذلك السّطر:

$str="hello 34 sometext";
$str=~ s/[^0-9]//g;
print $str;

بحيث سيكون المخرج:

34

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

ستحتاج إلى تحويل المتغير ككل، مثال على ذلك:

% perl -e 'print "5.45" + 0.1;'
5.55

وفي حالة كان يتوفر على أحرف مع أرقام، يمكنك استعمال هذه الطريقة :

my $var1 = "123abc";
print $var1 + 0;

لنحصل على النتيجة:

123

ولملاحظة الفرق، إليك هذا المثال الثالث:

my $var2 = "abc123";
print $var2 + 0;

سنحصل على :

0

وهذا جدول حالات التحويلات التي من الممكن مصادفتها:

Original   As string   As number

  42         "42"        42
  0.3        "0.3"       0.3
 "42"        "42"        42
 "0.3"       "0.3"       0.3

 "4z"        "4z"        4        (*)
 "4z3"       "4z3"       4        (*)
 "0.3y9"     "0.3y9"     0.3      (*)
 "xyz"       "xyz"       0        (*)
 ""          ""          0        (*)
 "23\n"      "23\n"      23

المزيد عن الموضوع

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن