什么是为总是做整数除法在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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top