gpt4 book ai didi

mysql - 使用 double 类型时, double 在 mysql 中无法正常工作

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:51 25 4
gpt4 key购买 nike

我在表中有双字段。当我从双参数中减去小数部分时,出现了奇怪的问题。

我在表中的金额是 0.068

当我减去0.06就变成了

0.0080000000000001

我对更新的简单查询是

UPDATE 
subscriber
SET
balance = balance - _amount

其中 _amount 是一个 Double 参数

由于这是一种遗留实现,我目前无法更改列类型。所以在查询中需要一些解决方法

最佳答案

问题是什么? double precision 是一个 float ,它使用二进制表示来近似十进制值。

如果您想要精确的数字,请使用定点表示法。这样的列将被声明为 decimal。您可以使用 alter table 更改此设置:

alter table change column balance decimal(10, 4);  -- or whatever is appropriate

特别是,不建议使用 float 存储货币值。

关于mysql - 使用 double 类型时, double 在 mysql 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37459451/

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