当前位置: 网站首页>小程序开发>小程序制作

淮滨微信公众号开发【淮滨网络推广】淮滨建站、淮滨网站维护、淮滨网页制作、淮滨微信小程序代运营公司

发表日期: 2021-05-10 14:48:54 浏览次数:122

淮滨微信公众号开发【淮滨网络推广】淮滨建站、淮滨网站维护、淮滨网页制作、淮滨微信小程序代运营公司

网站建设.jpg

淮滨县,河南省信阳市下辖县,位于信阳市东北部,地处东经115°11′—115°35,北纬32°15′—32°38'之间,总面积1209平方公里,地处北亚热带与暖温带气候过渡地带。 [1]  截至2020年6月,淮滨县辖4个街道、5个镇、10个乡, [2]  县政府驻滨湖街道。 [3]  截至2019年末,淮滨县总人口78.47万。 [4] 

淮滨因位于淮河之滨而得名。1952年8月经国务院批准,正式设立淮滨县。 [1]  1962年10月20日,合并于息县的原淮滨行政区域和固始县的原淮滨县期思、张庄两个区的行政区域为淮滨县的行政区域。 [5]  2019年3月,淮滨县入选第一批革命文物保护利用片区分县名单。 [6]  淮滨县产业集聚区是河南省首批确定的175个产业集聚区之一。造船业是淮滨县传统优势产业,也是纳入河南省“十一五”规划予以重点支持的装备制造业。 [7]  2020年2月26日,河南省人民政府批准淮滨县退出贫困县,正式脱贫摘帽。 [8]  淮滨县境内有期思古城、东西湖风景区、淮滨淮南湿地自然保护区等著名景点。

2019年,淮滨县生产总值225.92亿元,增长7.9%。其中,第一产业增加值41.26亿元,增长1.8%;第二产业增加值91.70亿元,增长8.9%;第三产业增加值92.97亿元,增长10.7%,三次产业结构18.3:40.6:41.1。 [4] 


前言

想必,很多人都遇到过关于后端返回数据中的大数字问题。明明你写的代码没有问题,然后后台的接口也没问题,但是你调用接口返回的数据就有误。 JavaScript 能够准确表示的整数范围在-2^53到 2^53之间(不含两个端点),超过这个范围,无法精确表示这个值,这使得 JavaScript 不适合进行科学和金融方面的精确计算。这个问题主要是后端数据类型是long类型时。数字精准度问题。

案例

Math.pow(2, 53) // 90071992547409929007199254740992  // 90071992547409929007199254740993  // 9007199254740992Math.pow(2, 53) === Math.pow(2, 53) + 1// true

超过2的53次方之后,就不精准了。

ES6 引入了Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER这两个常量,用来表示这个范围的上下限。

Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1// trueNumber.MAX_SAFE_INTEGER === 9007199254740991// trueNumber.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER// trueNumber.MIN_SAFE_INTEGER === -9007199254740991// true

上面代码中,可以看到 JavaScript 能够精确表示的极限。

解决方案

关于如何解决这个问题,方案有两种。

方案一:

后端解决,后端将数字转成字符串。这个对于前端来说是最简单的了,因为超长的数字在浏览器中确实存在展示精度问题,这个后端解决也是领所应当。

方案二:

前端通过json-bigint 是一个第三方包来解决

npm i json-bigint

下面是使用它的一个简单示例。

const jsonStr = '{ "art_id": 1245953273786007552 }'console.log(JSON.parse(jsonStr)) // 1245953273786007600// JSON.stringify()// JSONBig 可以处理数据中超出 JavaScript 安全整数范围的问题console.log(JSONBig.parse(jsonStr)) // 把 JSON 格式的字符串转为 JavaScript 对象// 使用的时候需要把 BigNumber 类型的数据转为字符串来使用console.log(JSONBig.parse(jsonStr).art_id.toString()) // 1245953273786007552console.log(JSON.stringify(JSONBig.parse(jsonStr)))console.log(JSONBig.stringify(JSONBig.parse(jsonStr))) // 把 JavaScript 对象 转为 JSON 格式的字符串

json-bigint 会把超出 JS 安全整数范围的数字转为一个 BigNumber 类型的对象,对象数据是它内部的一个算法处理之后的,我们要做的就是在使用的时候转为字符串来使用。

我们可以结合axiso来使用,Axios 提供了自定义处理原始后端返回数据的 API:transformResponse 。

import axios from 'axios'import jsonBig from 'json-bigint'var json = '{ "value" : 9223372036854775807, "v2": 123 }'console.log(jsonBig.parse(json))const request = axios.create({
  baseURL: '你接口的基础路径', // 接口基础路径

  // transformResponse 允许自定义原始的响应数据(字符串)
  transformResponse: [function (data) {
    try {
      // 如果转换成功则返回转换的数据结果
      return jsonBig.parse(data)
    } catch (err) {
      // 如果转换失败,则包装为统一数据格式并返回
      return {
        data      }
    }
  }]})export default request

把axiso封装一下,用来处理此类的大数据数值问题。


淮滨微信公众号开发淮滨网络推广淮滨建站、淮滨网站维护、淮滨网页制作、淮滨微信小程序代运营公司

400-111-6878
服务热线
顶部

备案号: 苏ICP备11067224号

CopyRight © 2011 书生商友信息科技 All Right Reserved

24小时服务热线:400-111-6878   E-MAIL:1120768800@qq.com   QQ:1120768800

  网址: http://www.768800.com  网站建设上往建站

关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|

企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|

400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|

预约专家

欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系

  

服务热线:400-111-6878