Rounds a float

rand
sin
Math Functions
PHP Manual

# round

(PHP 4, PHP 5)

round — Rounds a float

### Description

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

Returns the rounded value of `val` to specified `precision` (number of digits after the decimal point). `precision` can also be negative or zero (default).

> Note: PHP doesn't handle strings like "12,300.2" correctly by default. See converting from strings.

### Parameters

`val`

  The value to round

`precision`

  The optional number of decimal digits to round to.

`mode`

  Use one of the following constants to specify the mode in which rounding occurs.

  Constant | Description
  --- | ---
  `PHP_ROUND_HALF_UP` | Round `val` up to `precision` decimal places away from zero, when it is half way there. Making 1.5 into 2 and -1.5 into -2.
  `PHP_ROUND_HALF_DOWN` | Round `val` down to `precision` decimal places towards zero, when it is half way there. Making 1.5 into 1 and -1.5 into -1.
  `PHP_ROUND_HALF_EVEN` | Round `val` to `precision` decimal places towards the next even value.
  `PHP_ROUND_HALF_ODD` | Round `val` to `precision` decimal places towards the next odd value.

### Return Values

The rounded value

### Examples

Example #1 round() examples

`<?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` examples

`<?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
?>`

Example #3 `mode with precision` examples

`<?php
/* Using PHP_ROUND_HALF_UP with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* Using PHP_ROUND_HALF_ODD with 1 decimal digit precision */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>`

### Changelog

Version | Description
--- | ---
5.3.0 | The `mode` parameter was introduced.
5.2.7 | The inner workings of round() was changed to conform to the C99 standard.

### See Also

- ceil() - Round fractions up
- floor() - Round fractions down
- number_format() - Format a number with grouped thousands

rand
sin
Math Functions
PHP Manual