MySQL - 我怎样才能总是四舍五入小数?

标签 mysql rounding

例如我有以下值:

0.000018

这是 6 位小数,但我想将它四舍五入到最接近的小数点后第四位,以便:

0.000018 -> 0.0001

我玩过 round() 函数,但如果我只使用 round 函数:

round(0.000018,4) = 0.0000

当出于财务目的处理小数时,在这种情况下需要四舍五入并向客户收费,而不是免费赠送他们!但是 round() 会根据值向上或向下舍入,我需要始终如一地向上舍入。

有没有一种简单的方法可以做到这一点?

最佳答案

您可以使用 ceil (ceiling) .它只是四舍五入,所以你必须乘以 10000,做 ceil,然后再除以结果。

所以 ceil(0.000145* 10000) = ceil(1.45) = 2 分回来,你会得到 0.0002

编辑:等等,wut?那是行不通的。我的意思是 FLOOR 显然但工作是一样的:D 手册也在同一页上:)

所以 floor(0.000145* 10000) = floor(1.45) = 1 分回来,你会得到 0.0001

关于MySQL - 我怎样才能总是四舍五入小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7705548/

相关文章:

c# - 如何使用移位运算符将字节舍入为 0 或 255

c++ - 使用MPFR舍入到整数

mysql - 如何将数据从生产数据库迁移到开发数据库 (Rails 4)?

php - 从 Laravel 中具有一对多关系的 4 个表中检索值

仅mysql转储表

mysql 测试 IF 变量 IS NULL(或空)

mysql - 在 Symfony 中打印 Sql 查询

c# - 如何防止 C# 端的 SQL 舍入小数 (18,4) 输出

excel - Excel 中的四舍五入

在摊销表中四舍五入