سؤال

ما هو وسيلة جيدة ل دائما هل انقسام عدد صحيح في بيرل؟

على سبيل المثال، أريد:

real / int = int

int / real = int

int / int = int
هل كانت مفيدة؟

المحلول 2

يمكنك طرح Ints في بيرل:

int(5/1.5) = 3;

نصائح أخرى

كفرت متعرجة integer براغما القوات بيرل لاستخدام الحساب الصحيحة في نطاقها:

print 3.0/2.1 . "\n";    # => 1.42857142857143
{
  use integer;
  print 3.0/2.1 . "\n";  # => 1
}
print 3.0/2.1 . "\n";    # => 1.42857142857143

int(x+.5) سوف تقريب إيجابي القيم تجاه أقرب عدد صحيح. التقريب لأعلى أصعب.

إلى الجولة نحو الصفر:

int($x)

بالنسبة للحلول أدناه، قم بتضمين العبارة التالية:

use POSIX;

إلى الجولة: POSIX::floor($x)

بمحاصرة: POSIX::ceil($x)

إلى الجولة بعيدا عن الصفر: POSIX::floor($x) - int($x) + POSIX::ceil($x)

إلى الجولة إلى أقرب عدد صحيح: POSIX::floor($x+.5)

لاحظ أن int($x+.5) فشل بشدة للقيم السلبية. int(-2.1+.5) يكون int(-1.6), ، وهو -1.

يمكنك:

use integer;

يتم تفسيره بواسطة Michael Ratanapintha أو استخدام آخر يدويا:

$a=3.7;
$b=2.1;

$c=int(int($a)/int($b));

إشعار، 'Int' ليس صب. هذه هي الوظيفة لتحويل الرقم إلى شكل صحيح. وذلك لأن بيرل 5 ليس لديه قسم صحيح منفصل. استثناء هو عند استخدام عدد صحيح ". ثم سوف تفقد الانقسام الحقيقي.

نأمل أن يعمل

int (9/4) = 2.

شكرا manojkumar.

على سبيل المثال 9/4 = 2.25

INT (9) / INT (4) = 2

9/4 - الباقي / الدنانئ = 2

9 /4 - 9 % 4 / 4 = 2

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top