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

vuejs处理后端返回数字类型精度丢失问题

标题问题描述

后端返回数据有5.003.30这种数据,但是前端展示的时候返回对应分别为53.0,小数点后0都丢失了。

  • 接口返回数据展示network-Response
    在这里插入图片描述
  • 接口返回数据展示network-Preview
    在这里插入图片描述
  • 错误数据效果展示
    在这里插入图片描述

发现问题

  • 浏览器接口network中Preview是返回的5和3.3,Response返回的是5.00和3.30
    因为后端返回的数据类型不是字符串,是数字类型
  • 打印出来接口返回数据这里已经是精度丢失的数据,深拷贝也是返回的错误的数据精度
    再页面渲染的时候使用v-html也不能生效

研究了一下是vue在渲染数据的时候,处理数据把3.30格式化3.3,所以前端需要重新处理一下数据格式,格式化后端返回我们的正常数据

第一种:{{ parseFloat(scope.row.amountFee).toFixed(2) }} 
第二种:{{ (scope.row.amountFee).toFixed(2) }}
第三种:使用第三方库 BigNumber.js(可以 但没必要~~~)
BigNumber = require('bignumber.js');
let num = new BigNumber(5).toFixed(2));
console.log(num.toFixed(2)); // "5.00"

在这里插入图片描述

正确效果展示

在这里插入图片描述

总结:

之前以为只有id这种 LONG型长度不够的时候,会有精度丢失问题,后端会把返回的数据类型从数字改为字符串,解决此类问题。
现在是这种5.00的数据类型vue再渲染的时候也会自动处理,再不改变后端数据类型的情况下,前端可以手动修改一下,保证和后端返回的数据格式一致。

http://www.lryc.cn/news/2383257.html

相关文章:

  • mysql数据库-中间件MyCat
  • 手搓四人麻将程序
  • PotPlayer 安装 madVR、LAV Filters 以提升解码能力和视频音频效果
  • 阿里云域名 绑定 华为云服务器ip
  • windows7安装node18
  • Maven配置安装
  • 小刚说C语言刷题—1153 - 查找“支撑数”
  • Kind方式部署k8s单节点集群并创建nginx服务对外访问
  • K个一组链表翻转
  • Python60日基础学习打卡D32
  • 面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)
  • 基于Java(SSM)+MySQL实现(Web)具有智能推荐功能的图书销售系统
  • 浙大团队研发Earth Explorer系统,探索深时演化/地学剖面/科研场景,赋能深时地球科学研究
  • docker 启动一个python环境的项目
  • 31-35【动手学深度学习】深度学习硬件
  • Linux问题排查-内存使用率高如何分析原因
  • SpringMVC2
  • 【每日一题丨2025年5.12~5.18】排序相关题
  • ElasticSearch性能优化
  • Typora + PicGo + GitHub 配置图床——图片自动上传 详细教程
  • QT+Visual Studio 配置开发环境教程
  • 缺乏经验的 PCB 过孔建模方法
  • layui 介绍
  • 【漫话机器学习系列】265.普拉托变换的相关问题(Issues With Platt Scaling)
  • 【Linux高级全栈开发】2.2.1 Linux服务器百万并发实现2.2.2 Posix API与网络协议栈
  • LlamaIndex
  • springboot使用xdoc-report包导出word
  • leetcode 3356. 零数组变换 II 中等
  • 重拾GMP
  • 实验分享|基于千眼狼sCMOS科学相机的流式细胞仪细胞核成像实验