题
什么是为总是做整数除法在Perl的好办法?
例如,我想:
real / int = int
int / real = int
int / int = int
解决方案 2
可以投整数在Perl:
int(5/1.5) = 3;
其他提示
在词法作用域 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
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;
它是由迈克尔Ratanapintha或手动解释其他使用:
$a=3.7;
$b=2.1;
$c=int(int($a)/int($b));
通知, 'INT' 不铸造。这是用于将编号以整数形式的功能。 这是因为Perl 5没有单独的整数除法。例外情况是当你使用整型“。那么你将失去真正的分裂。
希望工程
INT(9/4)= 2。
由于 Manojkumar
例如 9/4 = 2.25
INT(9)/ INT(4)= 2
9/4 - 余数/ deniminator = 2
9/4 - 9%4/4 = 2
不隶属于 StackOverflow