将带小数的字符串转换为float& int不会产生相同的金额

时间:2017-11-29 16:02:58

标签: php

我编写了以下PHP代码段来显示一些奇怪的PHP行为。

<?php
$amount = "9.95";
var_dump($amount); // string(4) "9.95" 
echo '<br />';

settype($amount, "float");
var_dump($amount); // float(9.95)
echo '<br />';

$amount = $amount * 100;
var_dump($amount); // float(995)
echo '<br />';

settype($amount, "int");
var_dump($amount); // int(994)
?>

我预计最后的输出是995,但结果是994.为什么会发生这种情况? 在线片段: http://codepad.org/tpnxwm0W

0 个答案:

没有答案