为什么下面的代码给出了这个答案,而不是1899,我该如何解决?
echo (intval(floatval("18.99") * 100));
回答1898年
但是
echo (intval(floatval(18.99) * 100));
是1899年
那么我们如何修复下面的代码
$a = "18.99";
echo (intval((floatval($a) * 100)));
,答案变为1899
答案 0 :(得分:1)
众所周知的问题。 http://php.net/manual/function.intval.php#7707 快速解决方案:
echo (intval(strval(floatval("18.99") * 100)));
答案 1 :(得分:1)
2个十进制数的解决方案
使用
echo (ceil(floatval("18.99") * 100))."<br/>";