PostgreSQL round(v numeric,s int)
发布时间:2020-12-13 18:04:55 所属栏目:百科 来源:网络整理
导读:Postgres round(v numeric,s int) 使用哪个 method? 回合一半 减半 距离零点一半 将一半归零 一半到一半 圆半到奇数 我正在寻找文档参考. 对不起,我在文档中没有看到任何暗示,但是 a look at the code表示它使用的是距离零的一半;随身携带始终添加到数字中,
Postgres
round(v numeric,s int) 使用哪个
method?
>回合一半 我正在寻找文档参考.
对不起,我在文档中没有看到任何暗示,但是
a look at the code表示它使用的是距离零的一半;随身携带始终添加到数字中,从而增加变量的绝对值,无论其符号是什么.一个简单的实验(psql 9.1)证实了这一点:
test=# CREATE TABLE nvals (v numeric(5,2)); CREATE TABLE test=# INSERT INTO nvals (v) VALUES (-0.25),(-0.15),(-0.05),(0.05),(0.15),(0.25); INSERT 0 6 test=# SELECT v,round(v,1) FROM nvals; v | round -------+------- -0.25 | -0.3 -0.15 | -0.2 -0.05 | -0.1 0.05 | 0.1 0.15 | 0.2 0.25 | 0.3 (6 rows) 有趣的是,因为round(v dp)使用了一半的偶数: test=# create table vals (v double precision); CREATE TABLE test=# insert into vals (v) VALUES (-2.5),(-1.5),(-0.5),(0.5),(1.5),(2.5); INSERT 0 6 test=# select v,round(v) from vals; v | round ------+------- -2.5 | -2 -1.5 | -2 -0.5 | -0 0.5 | 0 1.5 | 2 2.5 | 2 (6 rows) 后一种行为几乎肯定是依赖于平台的,因为它看起来像it uses rint(3) under the hood. 如有必要,您可以随时实施不同的舍入方案.有关示例,请参见Tometzky’s answer. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |