كيف يجب علي فعل قسم عدد صحيح في بيرل؟
-
22-08-2019 - |
سؤال
ما هو وسيلة جيدة ل دائما هل انقسام عدد صحيح في بيرل؟
على سبيل المثال، أريد:
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