小编use*_*393的帖子

perl - int()递减整数

在我受到抨击之前,我想说我确实理解浮点数和类似的东西,但这似乎不是我的问题.

为简化起见,我试图确定一个数字是否超过2位小数.我这样做是通过将数字乘以100(存储在变量" test1"下)然后截断它int() ($test2)并将其与a进行比较if.

$test1 = $number * 100;
$test2 = int($test1);
unless ($test1 == $test2) {
  die ("test1:$test1, test2:$test2");
}
Run Code Online (Sandbox Code Playgroud)

最初$number来自一系列其他函数,实际上应该只有两位小数,因此我试图捕捉那些不是(因为一些条目似乎有很多小数).

但是,我得到了:

test1:15, test2:14
Run Code Online (Sandbox Code Playgroud)

从我的die().

有人能解释一下会发生什么吗?怎么能int(15)14

floating-point int perl integer-arithmetic

2
推荐指数
1
解决办法
92
查看次数

标签 统计

floating-point ×1

int ×1

integer-arithmetic ×1

perl ×1