首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该如何在Perl中做整数除法?

我应该如何在Perl中做整数除法?
EN

Stack Overflow用户
提问于 2009-02-12 10:44:21
回答 7查看 116.4K关注 0票数 61

在Perl中always do整数除法的好方法是什么?

例如,我希望:

代码语言:javascript
复制
real / int = int

int / real = int

int / int = int
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-02-12 02:48:00

您可以在Perl中转换in:

代码语言:javascript
复制
int(5/1.5) = 3;
票数 50
EN

Stack Overflow用户

发布于 2009-02-12 10:49:50

词法作用域integer pragma强制Perl在其作用域中使用整数运算:

代码语言:javascript
复制
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
票数 87
EN

Stack Overflow用户

发布于 2009-12-15 04:07:16

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。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/539797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档