初学php,遇到点小问题不明白,忘各位多给我点指导,谢谢!
<?php
echo ((0.1+0.7)*10) //显示8
echo?(int)((0.1+0.7)*10);? //怎么显示显示?7 ?
echo intval(((0.2+0.7)*10)); //取整数9,是正确的
echo intval(((0.1+0.7)*10)); //怎么又显示 7 ?
echo (integer)(((0.1+0.7)*10)); //还是 7 ?
?>
请问到底是怎么将类似((0.1+0.7)*10)的一个表达式的结果(整数或浮点数) 转为整数呢?
php
------解决方案--------------------
浮点数的精度问题
$n = ((0.1+0.7)*10);
printf("%.16f %d\n", $n, $n);
7.9999999999999991 7