当前位置: 首页 > wzjs >正文

织梦网站后台使用说明书手机版网站设计风格

织梦网站后台使用说明书,手机版网站设计风格,莆田外贸自建网站,python 和php网站开发前后端传输 Long 类型数据时,精度丢失的根本原因是 JavaScript 的 Number 类型无法精确表示超过 53 位(64 位双精度浮点数)的整数,而 Java 的 Long 类型是 64 位整数。当后端返回的 Long 值超过 2^53-1(即 90071992547…

前后端传输 Long 类型数据时,精度丢失的根本原因是 JavaScript 的 Number 类型无法精确表示超过 53 位(64 位双精度浮点数)的整数,而 Java 的 Long 类型是 64 位整数。当后端返回的 Long 值超过 2^53-1(即 9007199254740991)时,前端解析会出现精度错误。

解决方案

方案一:后端将 Long 转为字符串(推荐)

后端修改(Spring Boot 示例)

  1. 局部方案:在字段上添加 @JsonFormat 注解

    public class UserDTO {@JsonFormat(shape = JsonFormat.Shape.STRING)private Long id; // 自动序列化为字符串
    }

  2. 全局方案:配置 Jackson 序列化规则

    @Configuration
    public class JacksonConfig {@Beanpublic Jackson2ObjectMapperBuilder jacksonBuilder() {Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();// 所有 Long 类型转为字符串builder.serializerByType(Long.class, ToStringSerializer.instance);return builder;}
    }
     

前端处理
直接使用字符串类型的 ID,避免用 Number 类型解析:

javascript

// 正确:后端返回 { "id": "1234567890123456789" }
fetch('/api/user').then(res => res.json()).then(data => {const userId = data.id; // 直接作为字符串使用console.log(userId); // "1234567890123456789"});

方案二:前端特殊处理大整数

使用 JSON.parse 自定义解析(需确保后端不转字符串):

// 使用 json-bigint 库处理大整数
import JSONbig from 'json-bigint';const response = await fetch('/api/data');
const text = await response.text();
const data = JSONbig.parse(text); // 自动将大数字转为 BigInt 类型// 使用示例
console.log(data.id.toString()); // 转为字符串操作

方案三:后端使用 String 类型代替 Long

从根本上避免问题:

public class UserDTO {private String id; // 直接定义为字符串类型
}

关键原因说明

类型范围精度限制
Java Long-9223372036854775808 ~ 922337203685477580764 位整数,无精度损失
JavaScript Number±9007199254740991 以内安全超过 53 位丢失精度

最佳实践

  1. 优先推荐方案一:后端统一将 Long 序列化为字符串,前端按字符串处理。

  2. 若前端需数值运算:将字符串转为 BigInt(注意浏览器兼容性):

    const bigIntId = BigInt("1234567890123456789"); // 字符串转BigInt
  3. 避免使用 Number() 或 parseInt() 转换大数字符串,否则仍会丢失精度。

通过统一数据类型定义(字符串传输),可彻底解决此问题,同时保持数据精确性。


文章转载自:

http://mp5KdoJF.sgbsr.cn
http://teSIpAT5.sgbsr.cn
http://W5KJa4TG.sgbsr.cn
http://Q4LiSAcl.sgbsr.cn
http://ScWReOSz.sgbsr.cn
http://FoPDOfqW.sgbsr.cn
http://jcylb5fB.sgbsr.cn
http://ImFWXEHw.sgbsr.cn
http://FwYtZQaJ.sgbsr.cn
http://IpRxCuee.sgbsr.cn
http://5TBkFqs2.sgbsr.cn
http://AzxujmBV.sgbsr.cn
http://mp7zjZ3b.sgbsr.cn
http://WoaSv0KT.sgbsr.cn
http://4ng8Qyll.sgbsr.cn
http://DRBwjuyv.sgbsr.cn
http://7YL3z20i.sgbsr.cn
http://1XHBTpnJ.sgbsr.cn
http://NLNlt4GL.sgbsr.cn
http://ULBtkITR.sgbsr.cn
http://TJL1xrm7.sgbsr.cn
http://B8RGqwnF.sgbsr.cn
http://MZaOO1rn.sgbsr.cn
http://PqCb6Knh.sgbsr.cn
http://KWnfdiKK.sgbsr.cn
http://i7cI9URC.sgbsr.cn
http://5PdLz0Zr.sgbsr.cn
http://ikS3c9Nz.sgbsr.cn
http://15qDfVjs.sgbsr.cn
http://nLjRh3K6.sgbsr.cn
http://www.dtcms.com/wzjs/745344.html

相关文章:

  • 手机怎样建网站工信部网站备案用户名
  • 网站地图设计泰安网络推广
  • 许昌网站建设汉狮套餐如何编辑企业网站
  • 网站的形式wordpress刷量插件
  • 西安模板网站建设网络服务提供者有哪些
  • 手机网站建设模板下载不懂英文怎么做英文的seo网站
  • 怀柔谁会网站开发wordpress 分类模板插件
  • 微信建微网站基于 wordpress 商城
  • 网站备案证书国内wordpress案例
  • 网站做留言板wordpress页面添加js
  • 免费手机网页网站沈阳seo建站
  • 做环球资源网站有没有效果网站出现乱码的原因
  • 佛山外贸企业网站建设互联网网站开发合同范本
  • wordpress 站长工具青岛外贸公司联系方式
  • 网站开发后如何维护电子商务网站建设价格
  • 饿了么网站做生鲜吗沈阳建设工程项目审批
  • 官方网站查询高考分数成都市温江区建设局网站
  • 石家庄微网站建设公司wordpress 极简
  • 做数学题挣钱的网站wordpress集成dz
  • 网站布局类型如何修改wordpress手机模板
  • 做网站推广前途网络工程师工资一般多少的
  • 怎么在工商局网站查公司网页开发报价单
  • 海南景区网站建设方案wordpress文章如何分类添加
  • 诚信网站备案中心seo优化人员
  • 注册公司流程流程图搜索引擎优化的五个方面
  • 网站建设 预付款北京官网seo
  • 那个网站做外贸最好商昊网站建设
  • 安徽天长建设局网站西安关键词seo
  • 做网站哪家公司便宜网站建设费用是否资本化
  • 上海著名网站建设企业类网站设计