跳到主要内容
版本:2.5

round, dround

功能

将数字四舍五入到指定的位数。

  • 如果只指定了 x,则将 x 四舍五入到最近的整数。
  • 如果同时指定了 n,则将 x 四舍五入到小数点后 n 个小数位。如果 n 为负数,则将数字向小数点左边取整。如果发生溢出,则生成错误。

语法

ROUND(x [,n]);

参数说明

x: 要进行四舍五入的数字。支持的数据类型为 DOUBLE 或 DECIMAL128。

n: 可选,要返回的小数位数。支持的数据类型为 INT。

返回值说明

  • 如果只指定 x,则返回值的数据类型为:

    ["DECIMAL128"] -> "DECIMAL128"

    ["DOUBLE"] -> "BIGINT"

  • 如果 xn 都指定,则返回值的数据类型为:

    ["DECIMAL128", "INT"] -> "DECIMAL128"

    ["DOUBLE", "INT"] -> "DOUBLE"

示例

mysql> select round(3.14);
+-------------+
| round(3.14) |
+-------------+
| 3 |
+-------------+

mysql> select round(3.14,1);
+----------------+
| round(3.14, 1) |
+----------------+
| 3.1 |
+----------------+

mysql> select round(13.14,-1);
+------------------+
| round(13.14, -1) |
+------------------+
| 10 |
+------------------+

mysql> select round(122.14,-1);
+-------------------+
| round(122.14, -1) |
+-------------------+
| 120 |
+-------------------+

mysql> select round(122.14,-2);
+-------------------+
| round(122.14, -2) |
+-------------------+
| 100 |
+-------------------+

mysql> select round(122.14,-3);
+-------------------+
| round(122.14, -3) |
+-------------------+
| 0 |
+-------------------+