floor( 500 * (1.4 / 100) )
给了我6分
和
floor( 500 * 1.4 / 100 )
给了我7
任何人都可以帮助我理解PHP算法如何在内部工作。
答案 0 :(得分:6)
它的工作方式与其他任何语言相同。试试javascript:
(500*(1.4 / 100)) // this will give you 6.999999999999999
(500* 1.4 / 100) // this will give you 7
问题是,PHP有内部设置,告诉他有关显示浮点数的精确度。尝试做类似的事情:
php > ini_set('precision', 17);
php > echo ( 500 * (1.4 / 100) );
6.9999999999999991
php > echo ( 500 * 1.4 / 100 );
7
php >
我假设您在没有ini_set的情况下尝试了上面的代码(使用默认设置 - 可能只有14作为精度),并且在两个结果中都返回了7:
php > echo ( 500 * 1.4 / 100 );
7
php > echo ( 500 * (1.4 / 100) );
7
php >