我正在尝试将浮点数截断为小数点后两位。 例如:- 数字 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