在我发火之前,我想说我明白浮点数和类似的东西,但这似乎不是我的问题。perl - int()递减一个整数
为了简化事情,我试图确定一个数字是否有超过2个小数位。我将数字乘以100(存储在变量“test1
”中),然后用int() ($test2)
截断并将其与if
进行比较。
$test1 = $number * 100;
$test2 = int($test1);
unless ($test1 == $test2) {
die ("test1:$test1, test2:$test2");
}
初始$number
来自整个系列的其他功能和要切实只有两位小数,所以我想抓住那些没有(如一些条目似乎有很多小数点)。
然而,我刚:
test1:15, test2:14
从我die()
。
有人可以解释如何发生? int(15)
如何可以14
?
'perl -wE'$ foo = 14.99999999999999;说$ foo;例如int $ foo'' – ThisSuitIsBlackNot
'die(sprintf(“test1:%。20g,test2:%。20g”,$ test1,$ test2))' – ikegami