我想创建一个循环,不断添加一组分数,在我的示例中为 1/3,稍后我可以检查与整数值的匹配。
显然,当 php 添加 1/3 + 1/3 + 1/3 时,结果是 0.9999999,所以我想我可以使用偶尔的一轮来帮助我,但这也不起作用。
我的想法是 .333 + .333 变为 .666,如果四舍五入将变为 0.667,然后 + .333 并且结果为 1。但是,对我来说,如果四舍五入的数量似乎只有数字实际上减少了。所以轮 (0.666, 3) 仍然是 0.666
<?php
$denom = 3;
$frac = 1/$denom;
$frac = round($frac,3);
$value = 0;
$max =24;
for($f = 1; $f <= $max; $f++){
echo "old value is now at ".$value.".<br/>";
$value = $value+$frac;
echo "value is now at ".$value.".<br/>";
$value = round($value,3);
echo "rounded value is now at ".$value.".<br/>";
$valueArray[$f] = $value;
//and here for ease of testing....
if (($value==1)OR ($value==2)OR ($value==3)OR ($value==4)OR ($value==5)OR ($value==6)OR ($value==7)OR ($value==8)){
echo "match!<br/>";
}else{
echo "no match!<br/>";
}
}
?>
我会以一种完全愚蠢的方式来解决这个问题吗?
不需要值不是整数时的准确性,只是它可以 == 使用整数。