PHP算术运算(加法)
PHP算术运算(加法),php,Php,地板(500*(1.4/100))给我6 和 地板(500*1.4/100)给我7 有谁能帮我理解PHP算术在内部是如何工作的。它的工作原理与其他任何语言一样。例如,尝试javascript: (500*(1.4 / 100)) // this will give you 6.999999999999999 (500* 1.4 / 100) // this will give you 7 问题是,PHP有一个内部设置,告诉他显示浮点数的精度。尝试这样做: php &g
地板(500*(1.4/100))
给我6
和
地板(500*1.4/100)
给我7
有谁能帮我理解PHP算术在内部是如何工作的。它的工作原理与其他任何语言一样。例如,尝试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_设置的情况下尝试了上面的代码(使用默认设置–精度可能为14),它在两个结果中都返回了7:
php > echo ( 500 * 1.4 / 100 );
7
php > echo ( 500 * (1.4 / 100) );
7
php >
它的工作原理与其他任何语言一样。例如,尝试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_设置的情况下尝试了上面的代码(使用默认设置–精度可能为14),它在两个结果中都返回了7:
php > echo ( 500 * 1.4 / 100 );
7
php > echo ( 500 * (1.4 / 100) );
7
php >
第二个例子怎么能给你7?这在我看来是不可能的。你的意思是
floor(500*1.4/100)
?我发现500*1.4*100不太可能返回接近7的值。在第二个示例(最后一个*
)中是不是输入错误?它的意思是“floor(500*1.4/100)”,对吗?第二个表达式返回70000。第二个例子怎么能给出7?这在我看来是不可能的。你的意思是floor(500*1.4/100)
?我发现500*1.4*100不太可能返回接近7的值。在第二个示例(最后一个*
)中是不是输入错误?它的意思是“floor(500*1.4/100)”,对吗?第二个表达式返回70000。