如何在 postgres 过程中将浮点数截断为小数点后两位



我正在尝试将浮点数截断为小数点后两位。 例如:- 数字 14.141244804178488 应变为 14.14。到目前为止,我已经尝试过这样

var_A float;
var_A := 14.141244804178488;
select  trunc(var_A ,2) into  var_A; 
raise notice '%', var_A;

当我尝试执行此查询时,我在上述查询中出现异常。我还尝试使用以下查询来解决;

/*var_A float;
var_A := 14.141244804178488;*/
select  trunc(141244804178488 ,2) into  var_A; 
raise notice '%', var_A;

对于上述查询,我得到的输出为 14.1400000000000006。谁能帮我解决这个问题。

对于数据类型float没有带有第二个参数的trunc()函数。

因此,请将var_A float更改为var_A numeric并尝试:

(正如@a_horse_with_no_name指出的那样,更好的方法是使用运算符分配变量:=而不是select..into

do $$
declare
var_A numeric;
begin
var_A := 14.141244804178488; 
var_A := trunc(var_A ,2); 
raise notice '%', var_A;
end;
$$ language plpgsql

最新更新