PostgreSQL:Double.MinValue超出了double精度类型的范围

时间:2019-10-22 05:11:59

标签: c# postgresql

我有一个postgres函数,其参数为double precision。有时我想从服务器端[Double.MinValue] c#代码中传递double的最小值。 现在我面临以下问题

  

-179769313486232000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000   超出了双精度类型的范围

双精度参数的输入是Double.MinValue。

功能如下

CREATE OR REPLACE FUNCTION public.insert_double_value(
    strtidx double precision,
    endidx double precision)
    // other logic goes below

有什么办法可以解决此问题?

1 个答案:

答案 0 :(得分:1)

double precision值转换为字符串时,问题很可能是舍入错误。

改为通过'-infinity'。这是一个明确定义的double precision值,可能会更好地表达您的意图。