<?php
unset($n);unset($m); unset($x);
$n=0.55;
$m=5*11;
$x=$n*100;
echo "x:$x; m:$m<br>";
var_dump($x);
echo "<br>";
var_dump($m);
echo "<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";unset($n);unset($m); unset($x);
$n=0.45;
$m=5*9;
$x=$n*100;
echo "x:$x; m:$m<br>";
var_dump($x);
echo "<br>";
var_dump($m);
echo "<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";
?>
===========================================================
x:55; m:55
float(55)
int(55)
不等
x:45; m:45
float(45)
int(45)
相等
=======================================================
xuzuning(唠叨)大哥,能解释一下吗?
两个情况有什么区别吗?
unset($n);unset($m); unset($x);
$n=0.55;
$m=5*11;
$x=$n*100;
echo "x:$x; m:$m<br>";
var_dump($x);
echo "<br>";
var_dump($m);
echo "<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";unset($n);unset($m); unset($x);
$n=0.45;
$m=5*9;
$x=$n*100;
echo "x:$x; m:$m<br>";
var_dump($x);
echo "<br>";
var_dump($m);
echo "<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";
?>
===========================================================
x:55; m:55
float(55)
int(55)
不等
x:45; m:45
float(45)
int(45)
相等
=======================================================
xuzuning(唠叨)大哥,能解释一下吗?
两个情况有什么区别吗?
unset($n);unset($m); unset($x);
$n=0.55;
$m=5*11;
$x=$n*100;
echo "x:$x; m:$m<br>";
printf("%01.40f",$x);
echo "<br>";
printf("%01.40f",$m);
echo "<br>";
echo "=====================<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";unset($n);unset($m); unset($x);
$n=0.45;
$m=5*9;
$x=$n*100;
echo "x:$x; m:$m<br>";
printf("%01.40f",$x);
echo "<br>";
printf("%01.40f",$m);
echo "<br>";
echo "=====================<br>";
if($x==$m)echo "相等<br>"; else echo "不等<br>";
?>
===================================
测试后看结果,确实 不等的
float(55)
int(55)
=====================
55.0000000000000071054273576010018587112427
55.0000000000000000000000000000000000000000
=====================
不等
x:45; m:45
float(45)
int(45)
=====================
45.0000000000000000000000000000000000000000
45.0000000000000000000000000000000000000000
=====================
相等