0

我正在开发一个 PHP 计算器,我需要一个澄清器或任何其他方法来完成我现在所做的步骤。以下是我开发的情况和解决方案。

让我们看看我将两个值 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 之类的东西会返回一些值,这些值会被捕获并显示给用户。

如果我做错了什么,请告诉我。!或者有什么方法可以做到这一点?

4

2 回答 2

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
于 2013-08-02T09:27:11.220 回答
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: ';
}
于 2013-08-02T09:27:41.587 回答