Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么用php函数显示不正确的结果?_Php - Fatal编程技术网

为什么用php函数显示不正确的结果?

为什么用php函数显示不正确的结果?,php,Php,为什么用php函数显示不正确的结果 这是我的密码。必须显示0 但是当我测试这个代码时。它是show99 为什么?? <?PHP $first = "8.12"; $second = "0.12"; $first = ($first)*(100); $second = ($second)*(100); $results = ($first)-($second); echo ($results)%(100); ?> 这似乎是浮点变量(双精度)的一个奇怪问题。下面是如何修复它而不必担心强

为什么用php函数显示不正确的结果

这是我的密码。必须显示
0

但是当我测试这个代码时。它是show
99

为什么??

<?PHP
$first = "8.12";
$second = "0.12";
$first = ($first)*(100);
$second = ($second)*(100);
$results = ($first)-($second);
echo ($results)%(100);
?>

这似乎是浮点变量(双精度)的一个奇怪问题。下面是如何修复它而不必担心强制转换变量:

$first = "8.12";
$second = "0.12";
$first = ($first)*(100);
$second = ($second)*(100);
$results = round(($first)-($second));
echo ($results)%(100);
添加到结果计算中(或者,如果需要,将
$first
$second
与100相乘时)将解决浮点错误

还可以使用第二个参数指定
round()
的精度,例如

round(123.4567, 2); // 123.46

使用浮点值时,请使用
fmod()
函数。