如何计算超出精度数字的加减运算

简介:

今天给大家分享的是:如何计算超出精度数字的加减运算,希望大家看完能有所收获哦~




使用javascript计算如下的结果:

63298532574392574384 + 1 = ?

结果:63298532574392570000

为什么会出现这种情况呢?不应该是63298532574392574385吗?这引发了我的思考

这段数字超出了Number数据类型的精度,那么该如何解决这个问题呢?

如果你想学习前端可以来这个Q群,首先是291,中间是851,最后是189,里面可以学习和交流,也有资料可以下载。

一、字符串处理方式

直接处理肯定是不行了,js不能存这么长的数字,如果必须存起来的话,回想js的基本类型也只有字符串了。这样的话就是把number类型转化成字符串类型使用 toString() 方法,然后把字符串分割成两部分,然后用后面的一段转化成number类型去加1,最后再转换成字符串和第一段自负串链接起来。虽然说能解决这个问题,但是存在几个问题:


1、在何处截取字符串?

2、如果截取字符串的地方存在进位怎么办?

这都是有可能存在的,显然不能推广使用。


二、转化成数组处理

我相信你看到标题就应该能想到,基于第一段的处理方式把字符串截成两节,如果是很长呢?这样截取显然不行,那只能回到最初的,把字符串的每个字母都截取存放在一个数组中。使用最后一个数字去加一但是这里要考虑到进位操作。直接上代码:

 

var arr = num.split(''); function calculate(arr){    var last;    
   if (arr.length == 0) {        
       last = 0;    }else{        
       last = arr.pop();    }    

    if (last == 9) {        
       last = 0;        arr = calculate(arr);    }else{        
       last = last - 0 + 1; //转化成数字    }    arr.push(last);    
   return arr; }

相关文章
|
4月前
|
存储 Java Apache
Velocityd的使用
Apache Velocity 是一个高效的 Java 模板引擎,主要用于动态文本生成,如网页、邮件或配置文件。其核心概念包括模板(Template)、上下文(Context)和引擎(VelocityEngine)。模板包含静态内容与动态指令,通过上下文传入数据,由引擎解析生成最终输出。Velocity 语法简洁,支持变量、条件判断、循环等逻辑控制,适用于 Web 开发及后端渲染场景。在 Spring Boot 等框架中集成方便,但需注意路径配置、编码设置及兼容性问题。
204 1
|
4月前
|
人工智能 Android开发 iOS开发
安卓版快捷指令,加了AI语音可以一句话操作v0.2.7
Shortcuts for Android(SFA)是一款安卓自动化工具,支持语音创建快捷指令,实现听歌、导航、发消息等操作。操作简单,提升效率,快来体验语音控制的便捷!
737 0
安卓版快捷指令,加了AI语音可以一句话操作v0.2.7
|
4月前
|
缓存 NoSQL API
Django缓存机制详解:从配置到实战应用
本文介绍了 Django 缓存机制的基础知识与实战应用,涵盖缓存概念、Redis 安装配置、缓存策略及 API 使用,并通过 RBAC 权限系统演示缓存的读写与删除操作,助力提升 Web 应用性能。
136 0
|
8月前
|
搜索推荐 BI
Typecho 入门指南:个人博客网站主题模板及插件更换!
本文介绍了为Typecho个人博客定制专属风格和功能的方法。主要内容包括:更换主题(下载、上传并启用新主题)和安装插件(获取、上传及启用实用插件)。通过操作,可实现个性化外观与评论互动、数据统计等功能,让博客更丰富多样。文中附有详细步骤与图片说明,适合新手参考。
518 0
|
10月前
|
vr&ar 图形学 计算机视觉
突破次元壁!新加坡国立发布GenXD:拿捏真实感3D、4D动态场景
新加坡国立大学团队发布GenXD,突破3D和4D场景生成难题。通过利用常见相机和物体运动,提出数据整理管道及大型4D数据集CamVid-30K,开发出能生成逼真3D/4D场景的框架。其多视角-时间模块分离相机与物体运动,支持条件视图生成。尽管存在数据覆盖和复杂场景处理的挑战,GenXD仍显著提升了生成效果,为虚拟现实、游戏开发等领域带来新机遇。论文链接:https://arxiv.org/abs/2411.02319。
207 11
|
10月前
|
人工智能 安全 调度
《鸿蒙NEXT端云垂直整合架构——算力协同调度的智慧引擎》
鸿蒙NEXT通过创新的端云垂直整合架构,实现硬件与云端深度融合,支持高效的算力协同调度。该架构具备智能的算力感知与分配能力,能根据任务需求灵活调配端侧和云端资源,确保实时性和高性能。同时,端云协同的模型训练与优化机制加快了模型迭代,提升了性能。此外,星盾安全架构保障了数据传输和算力调度的安全可靠性。这不仅为用户带来智能、流畅的体验,也为开发者提供了高效开发环境,推动AI技术在鸿蒙生态中的广泛应用。
334 18
|
JavaScript
《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》——第3章 MRP简介 3.1 MRP运行的简要说明
本节书摘来自华章计算机《SAP后勤模块实施攻略—SAP在生产、采购、销售、物流中的应用》一书中的第3章,第3.1节,作者 乐立骏,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
4719 0
想考阿里云ACE需要做什么准备?考试费用是多少?
很多人现在想找 一个稳定、收入又高的工作,而在现在的大环境下,各行各业都不好做,只有互联网这样的虚拟经济能有所发展,于是很多人想往这一行转型,而已经从事这个工作多年的人,也希望能得到更好的发展。
想考阿里云ACE需要做什么准备?考试费用是多少?
|
存储 机器学习/深度学习 缓存
阿里云服务器8核32G配置可选实例规格详解及优惠价格表(2023年更新)
阿里云服务器8核32G配置多少钱?可选实例规格有哪些?根据阿里云公布的2023年新版收费标准及活动价格来看,阿里云服务器8核32G配置活动价格最是共享型s6实例204.66元3个月,年付3274.56元/1年,现在购买还可享受立减20元-50元的优惠,购买后再送4.5折升级权益1次。阿里云服务器8核32G配置的云服务器可选的规格有33个,不同实例的价格有所不同,下面是8核32G配置可选实例规格详解及优惠价格表。
阿里云服务器8核32G配置可选实例规格详解及优惠价格表(2023年更新)