JS 大数溢出问题

查看 233|回复 16
justdoit123
OP
  
转成 string 给前端,前端送回给后端的时候,后端得再转回 int ( python 后端),现在其实就是这么做的。就是时不时会遗漏掉,而且这种问题是要等溢出你才会发现。基于此,想寻找一个更好的方案。
Morii   
我是后端,bigint 都是 parseString 给到前端的。
Terry166   
npm install --save bn.js
webbillion   
之前的方案是前端涉及数字都当 string 处理,后端也返回 string ,至于后端怎么处理可以避免忘记,不清楚后端怎么处理的,不知道 python 有没有前端 decimal.js 这种库,涉及数字全部用单独的库,而不是 原生 int ,也许有用?
mxT52CRuqR6o5   
后端框架不能直接指定大数类型序列化成 string 吗?只能一处处手动改?
thinkershare   
这个和 JS 没有一毛钱关系,你要怪只能怪 ECMA 规范和 IEEE64 浮点数规范,还有 JSON 规范。
justdoit123
OP
  
@mxT52CRuqR6o5 可以呀。
问题是,不是所有的 bigint 转成 string 都能相安无事。
比如,如果这个数字是用来做 ID 之类的,那它是 string 也无所谓,因为很少会对 ID 做什么加减乘除的运算。
但是这个 bigint 可能是表示毫秒、表示钱,这时候转成 string 就很不方便。而且后端又不是只为 js 服务,还有 ios 跟 android 。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部