我的数据库表中有一个浮点型列。当我从前端将 10 位值解析为浮点数并存储在表中时。它存储在 E raise to power 形式
而如果我在 SQL 数据库中手动输入一个 10 位数的值,则不会发生这种情况
我该怎么办?
数据也被四舍五入,例如我输入 5666666666
这就是发生的事情
我的数据库表中有一个浮点型列。当我从前端将 10 位值解析为浮点数并存储在表中时。它存储在 E raise to power 形式
而如果我在 SQL 数据库中手动输入一个 10 位数的值,则不会发生这种情况
我该怎么办?
数据也被四舍五入,例如我输入 5666666666
这就是发生的事情
更好地DECIMAL(12,2)
用于这种领域。
似乎您的前端只接受尾数中的 7 位数字,而数据库接受 15 位数字。您可以通过提高前端数据类型的精度来实现您想要的。
话虽如此,请尝试让您的客户对此列使用精确(十进制)类型。
检查前端应用程序天气,它确实会收集浮动并告诉您的客户使用金钱来获取数据类型。浮点数的替代方法是使用具有精度的数字或小数(您将确保它是您想要保持的精度)。由于 floater 是一个以 2 为底数计算的数字,因此您可能会出现与您在保存数据时提出的差距一样的差距。这就是为什么你从不使用浮点数来获取货币数据。