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

作者 : admin 本文共217个字,预计阅读时间需要1分钟 发布时间: 2024-01-30 共2人阅读

一. 问题阐述

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

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

二. 原因

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

三. 解决

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

【JAVA】Long类型返回到前端,精度丢失插图(6)

本站无任何商业行为
个人在线分享 » 【JAVA】Long类型返回到前端,精度丢失
E-->