SQLite数据类型引起的问题——全数字字符串使用varchar出现错误

问题:

       项目中需要把某些数据保存到Android的数据库中,因为保存的字符串全部为数字形式,SQLite把部分字符串自动转化为了科学技术法导致数据显示异常,同时还把一些开头为0的字符串自动去掉了0,即把字符串当做数字来处理了。

例如:00010102 变为了 10102;

00001010200000001 变为了 1.0102e+12;

在存储后进行显示时,正确的显示与错误的显示并存,因此要值得注意

解决方法:

       在建立数据表的时候,把字段类型从varchar改为text,再进行读取操作就解决了上述问题。

(查阅资料表明是由于SQLite自身的问题导致的)以下给出SQLite的五种数据类型:

 1.NULL:空值。 
 2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。 
 3.REAL:浮点数字,存储为8-byte IEEE浮点数。 
 4.TEXT:字符串文本。 
 5.BLOB:二进制对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值