【JAVA】Long类型返回到前端,精度丢失

一. 问题阐述

20位long类型的数字,从后端接口返回到前端后【四舍五入】

  1. MYSQL端
    (1)bigint (20)
    在这里插入图片描述
    (2)具体某一条数据
    在这里插入图片描述
  2. JAVA端
    (1)实体类
    【JAVA】Long类型返回到前端,精度丢失_第1张图片
    (2)服务类
    【JAVA】Long类型返回到前端,精度丢失_第2张图片
    (3)return
    【JAVA】Long类型返回到前端,精度丢失_第3张图片
  3. 前端
    精度丢失,四舍五入
    【JAVA】Long类型返回到前端,精度丢失_第4张图片

二. 原因

Java端返回 Long 整型(20位)数据给前端,JS会自动转换为Number类型(17位)。当数值超过JS中Number类型的最大值(2的53次方)时,就会丢失精度。

三. 解决

返回给前端的属性类型转换为String类型,如下

【JAVA】Long类型返回到前端,精度丢失_第5张图片

你可能感兴趣的:(Java,java,前端,开发语言)