js中做数字运算时出现的异常,期望值比实际值小太多太多
首先,我遇到的情况不是自定义的数字,而是通过ajax从后端获取的json数据中解析出来的数字。
举个栗子:我想要的结果是 物料差缺率=差缺总数/(差缺总数+齐套总数)
//齐套总数
var fullTotal = data1.titlemap[0].full_total;、
//差缺总数
var lackTotal = data1.titlemap[0].lack_total;
//差缺率
var rate = lackTotal / (lackTotal+fullTotal);
打印出来的rate的值比预期的要小很多,原来问题出在了数据类型上。fullTotal和lackTotal的类型其实后台统一传成了字符类型,所以(lackTotal+fullTotal)的值并不是两个数字相加,而是两个字符的连接。比如两个值分别为’123’和’124’,那个rate的值为 124/124123 的结果,所以才会比预期的要小很多。
所以,这里需要将fullTotal和lackTotal的值先转换成数字类型,再进行运算。
可以使用parseInt() parseFloat() Number() 函数将字符转换成数值,再进行运算;
也可以 “一元运算符” 将字符型快速转换成数值类型
"1.23" * 1; // returns 1.23
"0xFF" - 0; // returns 255
"12.3" / 1; // returns 12.3
"023" + 0; // returns 23
所以,最后的物料差缺率为:
var fullTotal = data1.titlemap[0].full_total;
var lackTotal = data1.titlemap[0].lack_total;
var rate = Math.round(lackTotal / (lackTotal*1+fullTotal*1) * 10000) / 100.00 + "%";
js中做数字运算时出现的异常,期望值比实际值小太多太多相关推荐
- js浮点数运算不精确 如何解决_解决 浏览器处理数字运算时精度丢失的方法
浏览器处理数字运算时精度丢失的方法 为什么0.1 + 0.2 不等于0.3.因为计算机不能精确表示0.1, 0.2这样的浮点数,计算时使用的是带有舍入误差的数 并不是所有的浮点数在计算机内部都存在舍入 ...
- oracle 判断数字是否为整数,怎么判断JS中一个数字是否为整数?
怎么判断JS中一个数字是否为整数? 面试的时候遇到的问题,然后小疯回去查就几种方法,姑且一看,请多指正. 方法一: var ss =$("#ss").val(); var sss ...
- 【报错笔记】在eclipse中做Spring项目时,创建Spring容器时老是出错
在eclipse中做Spring项目时,创建Spring容器时老是出错 写完这句代码无法导包,最后发现包导错了,我原来导的4.3.9的包,而且是后缀为其他的包,而且对JDK也有要求,我又下载了5.0. ...
- 在项目中配置PageHelper插件时遇到类型转换异常
在项目中配置PageHelper插件时遇到类型转换异常 参考文章: (1)在项目中配置PageHelper插件时遇到类型转换异常 (2)https://www.cnblogs.com/dubhlinn ...
- 顶级车企是怎么在元宇宙中做数字营销,布局元宇宙的?
什么元?元什么宇宙? 英国乐队 Coldplay 在 JOYTOPIA 中举行虚拟现场音乐会 埃森哲<埃森哲 技术展望 2022> 元宇宙不仅仅是一个概念,更是一个可落地的战略.它构建了一 ...
- 关于JS中的浮点数运算
文章目录 浮点数的存储 浮点数的运算 如何解决 参考 更新:2020/08/21--如何避开JavaScript浮点数计算精度问题(如0.1+0.2!==0.3)讲的很全面 这篇文章起于「查缺补漏」送 ...
- js中字符串数字转换为数值类型
js中将字符串数字转换为数值类型的方法: 1. 使用Number( ) 和String( )这个两个内建函数. var a = 42; var b = String( a ); var c = &qu ...
- JS中给数字添加千分符
一些项目在开发过程中,会遇到给表格.图表中的数字添加千分符的问题,下面分享一个简单实用的函数给大家. const thousands = (str) => {//str 字符类型的数字let t ...
- js中的 与 | 运算
https://segmentfault.com/a/1190000013607145 在JavaScript中"&&"和"||bai"是逻辑运 ...
最新文章
- php遍历文件夹下文件内容_PHP遍历某文件夹下的文件与文件夹名
- TensorFlow高效读取数据的方法
- 工具介绍:SUN CAM阵列管理客户端
- mysql架构组成_第 2 章 MySQL 架构组成
- ubuntu vim中输入中文
- POJ 1185 炮兵阵地(状压dp)
- fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
- 小甲鱼 python11讲作业
- EDEM快速填充的方法
- 海康网络摄像机的使用
- 洛谷P5713 【深基3.例5】洛谷团队系统经典解法
- 二进制转三进制 C语言版
- 此计算机没有Intel处理器,而加速Android仿真器需要该处理器
- 导出数据库的longblob
- CTF每日一题之ACII码编码
- 2019年第十届蓝桥杯C/C++ 省赛B组真题+题解
- 【编写if时尽量不要带else】
- 我究竟适不适合做数据分析师?
- c语言之文件操作,C语言之——文件操作模式
- 安装Apache服务器遇见.dll丢失等问题解决
热门文章
- springmvc获取配置文件的值使用$这个符号
- 电脑查询ip地址的方法,第一种最为简单
- 获取项目中的文件流InputStream
- python读取xls文件_从python中的xls读取unicode
- 中心频点计算公式_LTE网各频段中心频点的计算方法_刘20170105
- winform keydown 等待按下另外一个键_真是没想到,手机电源键还有4个隐藏技巧,今天算是学到了...
- 指针02:指针所占内存空间
- 洛谷——P1887 乘积最大3
- Open3d之裁剪点云
- Opencv之斑点(Blob)检测--SimpleBlobDetector_create