gpt4 book ai didi

PostgreSQL 回合(v 数字,s int)

转载 作者:行者123 更新时间:2023-11-29 11:21:26 26 4
gpt4 key购买 nike

哪个method Postgres round(v numeric, s int)有什么用?

  1. 四舍五入
  2. 下半场
  3. 从零开始四舍五入
  4. 向零舍入一半
  5. 四舍五入
  6. 四舍五入为奇数

我正在寻找文档引用。

最佳答案

它没有记录,所以它可以改变。

这是我的round_half_even(numeric,integer):

create or replace function round_half_even(val numeric, prec integer)
returns numeric
as $$
declare
retval numeric;
difference numeric;
even boolean;
begin
retval := round(val,prec);
difference := retval-val;
if abs(difference)*(10::numeric^prec) = 0.5::numeric then
even := (retval * (10::numeric^prec)) % 2::numeric = 0::numeric;
if not even then
retval := round(val-difference,prec);
end if;
end if;
return retval;
end;
$$ language plpgsql immutable strict;

round_half_odd(numeric,integer):

create or replace function round_half_odd(val numeric, prec integer)
returns numeric
as $$
declare
retval numeric;
difference numeric;
even boolean;
begin
retval := round(val,prec);
difference := retval-val;
if abs(difference)*(10::numeric^prec) = 0.5::numeric then
even := (retval * (10::numeric^prec)) % 2::numeric = 0::numeric;
if even then
retval := round(val-difference,prec);
end if;
end if;
return retval;
end;
$$ language plpgsql immutable strict;

他们每秒处理大约 500000 次调用,比标准 round(numeric,integer) 慢 6 倍。它们也适用于零精度和负精度。

关于PostgreSQL 回合(v 数字,s int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22613702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com