将float值插入mysql数据库不一致

时间:2012-06-02 15:23:27

标签: .net mysql entity-framework

我正在使用实体框架和mysql作为后端。

我有一个lat和long类型为float的实体。

假设值为lat:45.50818和long:-73.55409

在db中插入后,DB中的值为lat:45.508183和 长:-73.554092

db中的

类型为float(10,6)

额外的3和2来自哪里?

当我查询db时,我的实体包含正确的lat / long ......

感谢任何帮助,

谢谢

1 个答案:

答案 0 :(得分:2)

您应该使用十进制数据类型

decimal(10,6)

Flaoting point numbers只是近似数字。定义float(10,6)仅表示您可以存储该精度,但在该精度之后该数字可能不准确。定点数没有这个问题。