PHP算术运算(加法)

时间:2015-10-15 12:05:34

标签: php

floor( 500 * (1.4 / 100) )给了我6分 和 floor( 500 * 1.4 / 100 )给了我7

任何人都可以帮助我理解PHP算法如何在内部工作。

1 个答案:

答案 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 >