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

做网站需要什么配置的电脑百度权重怎么提高

做网站需要什么配置的电脑,百度权重怎么提高,公司网站制作设计报价,南通移动网站建设js数据精度丢失 最近看面试题想到了之前在开发钟遇到过的问题,现总结一下 在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为…

js数据精度丢失

最近看面试题想到了之前在开发钟遇到过的问题,现总结一下

在开发过程中,发现从后台返回的数据结构中的id字段在前端显示为不正确的值。经过排查,怀疑是JavaScript中Number类型精度丢失的问题。通过将id字段的类型从Number改为String进行测试,确认了问题的根源。尝试在前端获取数据后立即转换为String类型,但发现数据在JavaScript中接收时精度已经丢失,因此最佳解决方案是让后端将id字段的类型改为String。
在开发的时候,后台返回了一个数据结构如下

const list= [{id: 421234567891234567,name: '数据1'},{id: 421234567891234668,name: '数据2'},{id: 421234567891234679,name: '数据3'},{id: 421234567891234697,name: '数据4'}]
<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">const num: Array<{ id: number, name: string }> = [{id: 421234567891234567,name: '数据1'},{id: 421234567891234668,name: '数据2'},{id: 421234567891234679,name: '数据3'},{id: 421234567891234697,name: '数据4'}]const btn = () => {console.log('num:', num)}
</script>

通过打印发现数据结果如下图

通过图片发现数据和原始数据不一样了

开始怀疑是数据传输过程造成的,换乘postman 测试发现数据正常

最后怀疑是js在Number类型时精度丢失,于是讲数据换乘String类型测试


<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">const num1: Array<{ id: string, name: string }> = [{id: '421234567891234567',name: '数据1'},{id: '421234567891234668',name: '数据2'},{id: '421234567891234679',name: '数据3'},{id: '421234567891234697',name: '数据4'}]const btn = () => {console.log('num1:', num1)}
</script>

打印结果如下图

发现确实是Number类型时精度丢失,于是让后端将id改成了String类型

后来想前端能不能解决于是就有了一下的一些尝试

前端获取到数据后就转换一下

<template><button @click="btn">按钮</button>
</template>
<script setup lang="ts">
const num: Array<{ id: number, name: string }> = [{id: 421234567891234567,name: '数据1'
}, {id: 421234567891234668,name: '数据2'
}, {id: 421234567891234679,name: '数据3'
}, {id: 421234567891234697,name: '数据4'
}]const btn = () => {const num2 = num.map((item) => {return {...item, id: item.id.toString()}})console.log('num2', num2)
}
</script>

结果发现不行

最后还实验了别的方法都不行,在js拿到数据的那一刻数据的精度就已经丢失了,最好的方法还是后端去转换

js的数据最大精度为2的53次方 也就是最大只能是9007199254740992

js的数据最小精度为2的-53次方 也就是最大只能是-9007199254740992

js数据范围-9007199254740992~9007199254740992

http://www.dt0577.cn/news/35323.html

相关文章:

  • 外贸推广网站哪家网站推广的作用
  • 西二旗网站建设云盘搜索引擎入口
  • 电商商城网站开发全能搜
  • asp.net开发微网站开发制作公司网页多少钱
  • 广州网站设计公司招聘北京推广服务
  • 阳江招聘网站哪个靠谱广州网络推广服务商
  • 党风廉政建设责任书 政府网站做推广公司
  • 网站域名查询系统wxbwxbwxbseo的中文含义是什么
  • ICP网站忘记密码网站建设的意义和作用
  • 用java怎么做门户网站网络广告文案范文
  • 广西两学一做网站学好seo
  • 晋江企业网站开发日本网络ip地址域名
  • 代理网站平台手机百度app免费下载
  • 合肥企业建站程序宁波网络推广优化方案
  • 做彩票网站模板游戏优化大师手机版
  • 网页制作论文范例武汉seo排名扣费
  • 中国网站优化怎么搭建一个网站
  • 企业网站建设要多谷歌搜索广告
  • 十大行情软件网站下载惠州seo公司
  • 北京做手机网站的公司seo搜索引擎优化技术教程
  • 企业网站优化外包山东seo
  • 学做烘培的网站seo教程技术资源
  • 边境网站建设方案深圳优化排名公司
  • 怎么做夜场网站企业网站营销实现方式解读
  • 现在公众号做电影网站的发展媒体网络推广价格优惠
  • 桌子上做嗯啊干爹网站seo效果检测步骤
  • 教育培训类网站开发淘宝怎么推广自己的产品
  • 网站开发文档百度搜索网页版入口
  • 手机网站seo怎么做最好用的搜索引擎排名
  • wordpress做管理网站国色天香站长工具