在mySQL中存储浮点数的最佳数据类型是什么?
我可以以某种方式将其存储为INT吗?
我在想VARCHAR是我最好的选择,但是如果你们知道更好的话我会很感激你的意见。
提前Thanx!
答案 0 :(得分:6)
取决于您存储的浮点数类型,有关MySQL数字类型的所有详细信息,请访问:
http://dev.mysql.com/doc/refman/5.5/en/numeric-types.html
DECIMAL:对于货币,你应该使用十进制,因为它的精确,你不会在算术中得到奇怪的十进制舍入。
INT:是的,您可以将浮点数存储为整数以获得性能。例如,货币可以存储为19.56美元或1956年,只要您在显示时始终/ 100,会计软件经常这样做。此外,只要在数据库外部除以10,000,000,就可以将纬度/经度存储为整数,322274063,-1109654800 = 32.2274063,-110.9654800。
FLOAT / DOUBLE:然后当然有长和双。当性能不是优先级或小数位数变化时使用它们。
SO RULE:如果性能有问题并且您知道小数位总是固定的长度,您可以轻松存储INT以存储FLOAT。
答案 1 :(得分:5)
我会使用Mysql Float类型。
答案 2 :(得分:2)
为什么要将浮点存储为int? MySQL有十进制和浮点类型,就像你的编程语言一样。
我认为你有充分的理由。要将float存储为int,您可以尝试以下几点:
答案 3 :(得分:0)
如果您必须以平面格式编码浮点数,我建议您查看http://en.wikipedia.org/wiki/IEEE_754-2008