gpt4 book ai didi

postgresql - 在 Postgres 中,数字/实数/ double 转换为字符变化/文本的混淆

转载 作者:行者123 更新时间:2023-11-29 12:07:54 31 4
gpt4 key购买 nike

用于将数值/实数/ double 转换为字符变化/文本。

select (12.0/100)::Double Precision;# 0.12
select (12.0/100)::Double Precision::Text;# 0.119999999999999996
select 0.12::text ; # 0.12
select (12.0/100)::Numeric::Text ; #0.12000000000000000000

0.12::text 是正确的,但是 (12.0/100)::Numeric::Text(12.0/100)::的结果: double ::文本令人困惑。

最佳答案

这些值可能会让您感到困惑,但它们是正确的。

您似乎将参数 extra_float_digits 设置为 3(或者您正在使用 JDBC,它会为您完成)。

double precision 是浮点类型,因此不精确。使用 extra_float_digits 的默认值 0,您不会注意到这一点,因为该值被截断,因此仅显示有效数字,但如果您要求全精度,您将在其所有部分中看到舍入误差荣耀。

最后一个命令将显示许多零,因为您没有指定 numeric(10,2) 来限制小数位数,除法可能会产生很多零。如果您尝试使用 * 而不是 /,您就会明白我的意思。

关于postgresql - 在 Postgres 中,数字/实数/ double 转换为字符变化/文本的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51764307/

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