我应该如何在Perl中进行整数除法?
在Perl中总是进行整数除法的好方法是什么?
例如,我想要:
real / int = int int / real = int int / int = int
词法范围的integer
注释强制Perl在其范围内使用整数算术:
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
你可以在Perl中投入整数:
int(5/1.5) = 3;
int(x+.5)
会将正值向最近的整数四舍五入。 四舍五入更难。
向零圆:
int($x)
对于下面的解决scheme,请包括以下声明:
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;
这是由迈克尔Ratanapintha解释,否则手动使用:
$a=3.7; $b=2.1; $c=int(int($a)/int($b));
注意,'int'不是铸造。 这是将数字转换为整数forms的function。 这是因为Perl 5没有单独的整数除法。 例外是当你使用整数。 那么你将失去真正的分工。
希望它的作品
int(9/4)= 2。
感谢Manojkumar
例如9/4 = 2.25
int(9)/ int(4)= 2
9 / 4-余数/除数= 2
9/4 – 9%4/4 = 2