PHP部门返回浮动值

时间:2013-08-02 09:23:16

标签: php string integer-overflow

我正在开发一个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这样的东西会返回一些在这里被捕获并向用户显示的值。

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

2 个答案:

答案 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: ';
}