找回密码
 立即注册

QQ登录

只需一步,快速开始

sheyt 活字格认证
初级会员   /  发表于:2022-3-30 23:19  /   查看:3008  /  回复:8
本帖最后由 sheyt 于 2022-3-30 23:24 编辑

请看如下视频,我将一个整数:1002107271780013输入整数字段,会自动变为1002107271780010,输入1002107271780015,会自动变为1002107271780020,就是系统自带的ID字段也有这个问题,这几乎是致命的问题,作为一个bigint类型的数据类型,怎么会出现这样的异常啊?我们外链数据库的ID是1002107271780013,今天查了一天的原因,发现原来活字格解析回来的数据是1002107271780010,导致系统逻辑、数据严重错乱了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

倒序浏览
小白学员
银牌会员   /  发表于:2022-3-31 10:12:56
沙发
本帖最后由 小白学员 于 2022-3-31 10:14 编辑

改成nvchar吧。这个不属BUG的吧。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-3-31 10:19:21
板凳
感谢各位大佬的支持~
这边儿测试了一下,内建数据库中的整数长度确实只有15位。这边已经反馈给了开发同事,看看他们有什么解决方案,有结果了及时给您反馈哈
回复 使用道具 举报
sheyt活字格认证
初级会员   /  发表于:2022-3-31 23:06:00
地板
知道原因了,原来是受制于前端Javascript的数据精度。

关于Javascript超大整数和浮点数的精度解说及闭坑方法,可以参考此文,希望大家不用再继续踩坑!

https://gcdn.grapecity.com.cn/showtopic-143942-1-1.html
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-1 10:52:01
5#
感谢大佬的反馈~
回复 使用道具 举报
高阳酒徒
中级会员   /  发表于:2022-4-2 10:41:59
6#
小白学员 发表于 2022-3-31 10:12
改成nvchar吧。这个不属BUG的吧。

改成nvchar确实可以解决,但是注意外联库,本来我们引用第三方的表很简单,但是有些第三方表的id比较长,但是本来可以直接引用的表都要创建视图,1是花费的时间多,2是做数据表修改的时候只能用sql不能用数据表操作,你真正遇到了就会发现很麻烦
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-2 12:02:46
7#
是的,但这个确实是前端的限制,我们也不好去处理哈
回复 使用道具 举报
小白学员
银牌会员   /  发表于:2022-4-2 12:48:13
8#
高阳酒徒 发表于 2022-4-2 10:41
改成nvchar确实可以解决,但是注意外联库,本来我们引用第三方的表很简单,但是有些第三方表的id比较长, ...

晕死,我还以为表是你自己控制的呢。第三方的话是有点麻烦。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2022-4-2 14:40:11
9#
感谢各位大佬的支持~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部