我正在开发一个PHP caluclator,我需要一个澄清器或任何其他方法来完成我现在所做的步骤。以下是我开发的情况和解决方案。
让我们看看我正在多次使用两个值A,B。
$a=1;
$b=9;
$c= $a * $b;
echo "Output : ".$c;
echo "<br>";
// Now dividing the Values by D.
$d=1111111111111;
$e= $c / $d;
echo "Output after Division : ".$e;
分部后的输出:8.1000000000008E-12
我确信,输出不是整数返回,它是一个浮动值。
我的问题从这里开始我想告诉用户输出是浮点而不是精确整数
// So below I have made a logic to do it.
if (strpos($e,'E') !== false) {
echo 'The returned output is an Floating Value: ';
}
我的问题:还有其他办法吗?不是通过检查输出包含字符串'E'
。像内部PHP这样的东西会返回一些在这里被捕获并向用户显示的值。
如果我做错了,请告诉我。或者有什么方法可以做到这一点吗?
答案 0 :(得分:2)
如果要检查,该值接近整数,您可以尝试:
<?php
$tolerance = 1E-6;
$result = 8.1E-12 + 2;
if (($result % 1) < $tolerance)
{
print "$result is close to integer ". (int) $result;
}
打印:
2.0000000000081 is close to integer 2
答案 1 :(得分:0)
除了可怕的代码之外,我认为你寻找的功能是
bool is_float ( mixed $var )
(http://wwwphp.net/manual/function.is-float.php)
编辑:像这样
if ($e % 1 !== 0) {
echo 'The returned output is an Floating Value: ';
}