有一个艰难的时间决定FLOAT,DOUBLE或DECIMAL

she*_*ike 7 mysql

目前使用MySQL版本5.1.6

这是我的第一个真实世界版本,到目前为止我实际上已经享受它; 但是,我现在仍然坚持关于字段数据类型的决定,并希望有人可以为我排序.

我基本上有10个字段,都是不同的测试结果.数字的范围从-100到100,并且在实际点之后可以有一个小数点.

例如,-5.1,0,1,16.3,99.2和100都是可能的数据.根据我的阅读,我们应该使用DECIMAL来表示我们通常测量的并且是精确的(这些是),而FLOAT和DOUBLE是近似值,我不是真的想要(虽然我确信在这个层次上,近似值)如果存在则非常小).

如果我使用DECIMAL,如果使用的话,我是否必须在开头包含一个' - '空格?IE,我会使用DECIMAL(4,1)还是DECIMAL(5,1)还是我离开这里?我可能会过分思考这一点.

Sch*_*ini 6

DECIMAL(4,1)将有足够的符号位也并不需要被包括在内.

更多信息:http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html

例如,DECIMAL(3,0)列支持-999到999的范围

十进制将确实是满足您需求的最佳选择.Float和Double可以给你丑陋的数字(例如0.2不能表示为float,你得到0.19999999)


小智 4

负号在计算中不算作数字,因此 DECIMAL(4,1) 应该没问题。

编辑:这似乎也是适合您目的的正确字段。试试看!