# round

(PHP 4, PHP 5, PHP 7)

round — 对浮点数进行四舍五入

### 说明

round ( float `$val` [, int `$precision` = 0 [, int `$mode` = PHP_ROUND_HALF_UP ]] ) : float

返回将 `val` 根据指定精度 `precision`（十进制小数点后数字的数目）进行四舍五入的结果。`precision` 也可以是负数或零（默认值）。

> Note: PHP 默认不能正确处理类似 "12,300.2" 的字符串。见字符串转换为数值。

### 参数

`val`

  要处理的值

`precision`

  可选的十进制小数点后数字的数目。

`mode`

  以下之一： `PHP_ROUND_HALF_UP`、 `PHP_ROUND_HALF_DOWN` `PHP_ROUND_HALF_EVEN` 或 `PHP_ROUND_HALF_ODD`

### 返回值

四舍五入后的值

### 范例

Example #1 round() 例子

    <?php
    echo round(3.4);         // 3
    echo round(3.5);         // 4
    echo round(3.6);         // 4
    echo round(3.6, 0);      // 4
    echo round(1.95583, 2);  // 1.96
    echo round(1241757, -3); // 1242000
    echo round(5.045, 2);    // 5.05
    echo round(5.055, 2);    // 5.06
    ?>

Example #2 `mode` 例子

    <?php
    echo round(9.5, 0, PHP_ROUND_HALF_UP);   // 10
    echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
    echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
    echo round(9.5, 0, PHP_ROUND_HALF_ODD);  // 9

    echo round(8.5, 0, PHP_ROUND_HALF_UP);   // 9
    echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
    echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
    echo round(8.5, 0, PHP_ROUND_HALF_ODD);  // 9
    ?>

### 更新日志

版本 | 说明
--- | ---
5.3.0 | 引入了 `mode` 参数
5.2.7 | round() 的内部运作修改符合 C99 的标准。

### 参见

- ceil() - 进一法取整
- floor() - 舍去法取整
- number_format() - 以千位分隔符方式格式化一个数字