考虑下面的代码
$t = preg_replace('/0+$/','',".800000000000000"); //Replace last 0s
这给了我预期的输出为 .8
现在考虑下面的代码
$a = .80;
$t = sprintf('%.15f', $a)."<br>";
echo "First : $t<br>";
$t = preg_replace('/0+$/','',$t);
echo "Second : $t <br>";
这将输出作为第一个:0.800000000000000 第二个:0.800000000000000
你能帮我找出为什么在这种情况下最后的 0 没有被正则表达式替换,因为预期的输出是 0.8 吗?