如何在数据库中存储经度和纬度.MySQL不会超过-99.9999999

Pea*_*nut -7 mysql database decimal sqldatatypes

好的,我现在将lat和lng列存储为 DECIMAL(10,8)

我想插入这个:

-117.1779216 但它继续插入如下: -99.99999999

为什么是这样?我看到每一个其他板把它作为十进制,但它不会回去更多的时候,我给它的期限之前10个名额......所以,我觉得它可以去-117 ..他们都没有被作为标记unsigned或者.

Ker*_*mit 14

精度(10) - 比例(8)= 2

2是小数点左边可以有的位数

如果增加精度,则可以在小数点左侧包含更多数字.

  • 你有5个以上的赞成票仅仅是因为青蛙的Kermit. (3认同)

vee*_*len 7

DECIMAL列的声明语法是DECIMAL(M,D).MySQL 5.1中参数的值范围如下:

M是最大位数(精度).它的范围是1到65.(旧版本的MySQL允许范围为1到254).

D是小数点右边的位数(刻度).它的范围为0到30,且不得大于M.

摘自手册 :D

  • 希望OP读取你的答案,因为他们无法阅读你的答案所来自的手册. (4认同)