地板和圆形有什么区别
What is the Difference between Floor and Round
CODE RESULTS
$a = floor(3.5); //3
$b = round(3.5, 0, PHP_ROUND_HALF_DOWN); //3
var_dump($a); //float(3)
var_dump($b); //float(3)
$c = gettype($a); //double
$d = gettype($b); //double
有什么区别。?我什么时候对上面的数字使用 floor() 或 round()。?
floor()
将简单地删除十进制值,而 return 仅删除整数。
所以 floor(1.2) => 1
和 floor(1.9) => 1
。
同时round()
将十进制值小于0.5
的数字四舍五入为低整数,大于0.5
的整数为高整数:
所以 round(1.2) => 1
但 round(1.9) => 2
另外 round()
有更多选项,例如精度和舍入选项。
$nums = [-1.5, -1, -.8, -.4, 0, .4, .8, 1, 1.5];
echo " \tround\tfloor\tceil" . PHP_EOL;
foreach ($nums as $a) {
echo $a . ": \t" . round($a) . "\t" . floor($a) . "\t" . ceil($a) . PHP_EOL;
}
/*
round floor ceil
-1.5: -2 -2 -1
-1: -1 -1 -1
-0.8: -1 -1 -0
-0.4: -0 -1 -0
0: 0 0 0
0.4: 0 0 1
0.8: 1 0 1
1: 1 1 1
1.5: 2 1 2
*/
floor() 将始终删除小数点后的值,并且只向下舍入。
round() 如果提供的整数后的值等于或大于 .5,则向上舍入,否则向下舍入。
示例 1:
回合(1.5)returns 2 而地板(1.5)returns 1.
示例 2:
round(3.2) 和 floor(3.2) return 3.
示例 3:
回合(2.9)returns 3 而地板(2.9)returns 2.
CODE RESULTS
$a = floor(3.5); //3
$b = round(3.5, 0, PHP_ROUND_HALF_DOWN); //3
var_dump($a); //float(3)
var_dump($b); //float(3)
$c = gettype($a); //double
$d = gettype($b); //double
有什么区别。?我什么时候对上面的数字使用 floor() 或 round()。?
floor()
将简单地删除十进制值,而 return 仅删除整数。
所以 floor(1.2) => 1
和 floor(1.9) => 1
。
同时round()
将十进制值小于0.5
的数字四舍五入为低整数,大于0.5
的整数为高整数:
所以 round(1.2) => 1
但 round(1.9) => 2
另外 round()
有更多选项,例如精度和舍入选项。
$nums = [-1.5, -1, -.8, -.4, 0, .4, .8, 1, 1.5];
echo " \tround\tfloor\tceil" . PHP_EOL;
foreach ($nums as $a) {
echo $a . ": \t" . round($a) . "\t" . floor($a) . "\t" . ceil($a) . PHP_EOL;
}
/*
round floor ceil
-1.5: -2 -2 -1
-1: -1 -1 -1
-0.8: -1 -1 -0
-0.4: -0 -1 -0
0: 0 0 0
0.4: 0 0 1
0.8: 1 0 1
1: 1 1 1
1.5: 2 1 2
*/
floor() 将始终删除小数点后的值,并且只向下舍入。 round() 如果提供的整数后的值等于或大于 .5,则向上舍入,否则向下舍入。
示例 1: 回合(1.5)returns 2 而地板(1.5)returns 1.
示例 2: round(3.2) 和 floor(3.2) return 3.
示例 3: 回合(2.9)returns 3 而地板(2.9)returns 2.