首先,我遇到的情况不是自定义的数字,而是通过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中做数字运算时出现的异常,期望值比实际值小太多太多相关推荐

  1. js浮点数运算不精确 如何解决_解决 浏览器处理数字运算时精度丢失的方法

    浏览器处理数字运算时精度丢失的方法 为什么0.1 + 0.2 不等于0.3.因为计算机不能精确表示0.1, 0.2这样的浮点数,计算时使用的是带有舍入误差的数 并不是所有的浮点数在计算机内部都存在舍入 ...

  2. oracle 判断数字是否为整数,怎么判断JS中一个数字是否为整数?

    怎么判断JS中一个数字是否为整数? 面试的时候遇到的问题,然后小疯回去查就几种方法,姑且一看,请多指正. 方法一: var ss =$("#ss").val(); var sss ...

  3. 【报错笔记】在eclipse中做Spring项目时,创建Spring容器时老是出错

    在eclipse中做Spring项目时,创建Spring容器时老是出错 写完这句代码无法导包,最后发现包导错了,我原来导的4.3.9的包,而且是后缀为其他的包,而且对JDK也有要求,我又下载了5.0. ...

  4. 在项目中配置PageHelper插件时遇到类型转换异常

    在项目中配置PageHelper插件时遇到类型转换异常 参考文章: (1)在项目中配置PageHelper插件时遇到类型转换异常 (2)https://www.cnblogs.com/dubhlinn ...

  5. 顶级车企是怎么在元宇宙中做数字营销,布局元宇宙的?

    什么元?元什么宇宙? 英国乐队 Coldplay 在 JOYTOPIA 中举行虚拟现场音乐会 埃森哲<埃森哲 技术展望 2022> 元宇宙不仅仅是一个概念,更是一个可落地的战略.它构建了一 ...

  6. 关于JS中的浮点数运算

    文章目录 浮点数的存储 浮点数的运算 如何解决 参考 更新:2020/08/21--如何避开JavaScript浮点数计算精度问题(如0.1+0.2!==0.3)讲的很全面 这篇文章起于「查缺补漏」送 ...

  7. js中字符串数字转换为数值类型

    js中将字符串数字转换为数值类型的方法: 1. 使用Number( ) 和String( )这个两个内建函数. var a = 42; var b = String( a ); var c = &qu ...

  8. JS中给数字添加千分符

    一些项目在开发过程中,会遇到给表格.图表中的数字添加千分符的问题,下面分享一个简单实用的函数给大家. const thousands = (str) => {//str 字符类型的数字let t ...

  9. js中的 与 | 运算

    https://segmentfault.com/a/1190000013607145 在JavaScript中"&&"和"||bai"是逻辑运 ...

最新文章

  1. php遍历文件夹下文件内容_PHP遍历某文件夹下的文件与文件夹名
  2. TensorFlow高效读取数据的方法
  3. 工具介绍:SUN CAM阵列管理客户端
  4. mysql架构组成_第 2 章 MySQL 架构组成
  5. ubuntu vim中输入中文
  6. POJ 1185 炮兵阵地(状压dp)
  7. fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
  8. 小甲鱼 python11讲作业
  9. EDEM快速填充的方法
  10. 海康网络摄像机的使用
  11. 洛谷P5713 【深基3.例5】洛谷团队系统经典解法
  12. 二进制转三进制 C语言版
  13. 此计算机没有Intel处理器,而加速Android仿真器需要该处理器
  14. 导出数据库的longblob
  15. CTF每日一题之ACII码编码
  16. 2019年第十届蓝桥杯C/C++ 省赛B组真题+题解
  17. 【编写if时尽量不要带else】
  18. 我究竟适不适合做数据分析师?
  19. c语言之文件操作,C语言之——文件操作模式
  20. 安装Apache服务器遇见.dll丢失等问题解决

热门文章

  1. springmvc获取配置文件的值使用$这个符号
  2. 电脑查询ip地址的方法,第一种最为简单
  3. 获取项目中的文件流InputStream
  4. python读取xls文件_从python中的xls读取unicode
  5. 中心频点计算公式_LTE网各频段中心频点的计算方法_刘20170105
  6. winform keydown 等待按下另外一个键_真是没想到,手机电源键还有4个隐藏技巧,今天算是学到了...
  7. 指针02:指针所占内存空间
  8. 洛谷——P1887 乘积最大3
  9. Open3d之裁剪点云
  10. Opencv之斑点(Blob)检测--SimpleBlobDetector_create