Sql 浮点运算在Postgres中给出错误的结果

Sql 浮点运算在Postgres中给出错误的结果,sql,postgresql,floating-point,Sql,Postgresql,Floating Point,当运行下面的代码时 select 5259.56::FLOAT8=(1800.12::FLOAT8+3459.44::FLOAT8) 输出为false,但当我运行 select 5259.55::FLOAT8=(1800.11::FLOAT8+3459.44::FLOAT8) 它以true作为输出。任何可能的解释都将不胜感激 这是由浮点运算引起的。(查看注释中提供的带有“无”名称的链接@a_horse_) 要修复它,如果您真的需要:键入numeric可以进行精确计算浮动不可用

当运行下面的代码时

select 5259.56::FLOAT8=(1800.12::FLOAT8+3459.44::FLOAT8)
输出为false,但当我运行

select 5259.55::FLOAT8=(1800.11::FLOAT8+3459.44::FLOAT8)

它以true作为输出。任何可能的解释都将不胜感激

这是由浮点运算引起的。(查看注释中提供的带有“无”名称的链接@a_horse_)

要修复它,如果您真的需要:键入
numeric
可以进行精确计算<代码>浮动不可用