js小数点精度问题
项目背景是用eharts 渲染数据,其中Y 轴的 刻度尺间隔用 interval,代码中如下:
yAxis: [
{
type : 'value',
position:'left',
min:minV,
max:maxV,
// splitNumber:5,
interval:interVal,
axisLine:{
lineStyle:{
color:'#fff'
}
},
axisLabel:{
show:true,
textStyle:{
color:'#6B7D97',
fontSize:'10'
},
formatter:function (value,index) {
return value.toFixed(4)
}
},
splitLine:{
show:true,
lineStyle:{
color:'#fff',
width:1
}
},
splitArea:{
show:true,
areaStyle:{
color:'#F6F8FB'
}
}
},
{
type : 'value',
position:'right',
min:-raa,
max:raa,
yAxisIndex:0,
splitNumber:8,
axisLine:{
lineStyle:{
color:'#fff'
}
},
axisLabel:{
show:true,
textStyle:{
color:'#6B7D97',
fontSize:'10'
},
formatter:function (value,index) {
return value.toFixed(2)+'%'
}
},
splitLine:{
show:true,
lineStyle:{
color:'#fff',
width:1
}
},
splitArea:{
show:true,
areaStyle:{
color:'#F6F8FB'
}
}
}
], 其中 interval 的小数点在RN项目中的小数点不能超过10位(没有具体测试),总之如果出现0.000346789999999这样的小数点的情况下会导致echarts图无法渲染,尝试用toFixed(6)这样处理的时候,
间隔的刻度不是我们想要的,因此采用的解决办法是保留小数点后8位,不能四舍五入,因此最终解决办法是:
0.000346789999999.toString().slice(0,8)用这样的处理方式,保留小数点的位数,同时不用四舍五入,即去尾法。
js小数点精度问题的更多相关文章
- JavaScript浮点运算,小数点精度
math.js JavaScript浮点运算,小数点精度 // JavaScript Document //数学函数 // 浮点数加法运算 function floatAdd(arg1, arg2) ...
- Long类型转json时前端js丢失精度解决方案
一.问题背景 Java后端开发过程中,尤其是id字段,因数值太大,通过json形式传输到前端后,在js解析时,会丢失精度. 如果对精度丢失没有什么概念,可以看一个知乎的帖子,来感受一下:https:/ ...
- iOS 小数点精度问题处理
实际开发中有时候经常会需要去处理小数点精度问题,如果是整数保留整数,如果有小数则保留不为0的的小数,最大2位小数 eg: 2.013 ---> 2.01 2.0 ---> 2 2.10 - ...
- js double 精度损失 bugs
js double 精度损失 bugs const arr = [ 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]; // [ ...
- vue js计算精度问题处理,兼容XP系统
js计算精度问题(浮点数误差,大数计算出错) JavaScript 运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果. 网上教程一大篇,原理请百度,抄作业往下看!! ...
- js 小数点失精度
解决方法思路:将小数化成整数后再作运算.具体代码如下: /*** 加法运算,避免数据相加小数点后产生多位数和计算精度损失.** @param num1加数1 | num2加数2*/function ...
- javascript(js)小数精度丢失的解决方案
原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3* ...
- 谈谈关于Python里面小数点精度控制的问题
基础 浮点数是用机器上浮点数的本机双精度(64 bit)表示的.提供大约17位的精度和范围从-308到308的指数.和C语言里面的double类型相同.Python不支持32bit的单精度浮点数.如果 ...
- js浮点数精度问题
大多数语言在处理浮点数的时候都会遇到精度问题,但是在JS里似乎特别严重,来看一个例子 alert(45.6*13); 结果居然是592.800000000001,当然加法之类的也会有这个问题 那这是j ...
随机推荐
- LeetCode - 386. Lexicographical Numbers
Given an integer n, return 1 - n in lexicographical order. For example, given 13, return: [1,10,11,1 ...
- Mac 安装HomeBrew 出错
错误如下: error: could not lock config file /usr/local/Homebrew/.git/config: Permission denied fatal: co ...
- ConcurrentLinkedQueue since java1.5
1 父类 java.lang.Object 继承者 java.util.AbstractCollection<E> 继承者 java.util.AbstractQueue<E> ...
- SecureCRT安装使用
● 解决自动断开 echo "TMOUT=6000 " >>/etc/profile source /etc/profile 在连接上右键属性,然后“终端”,“反空闲” ...
- 洛谷P1192 台阶问题【记忆化搜索】
题目:https://www.luogu.org/problemnew/show/P1192 题意: 给定n和k,一个人一次可以迈1~k步,问走n步有多少种方案. 思路: 本来傻乎乎上来就递归,显然会 ...
- sess.run(tf.global_variables_initializer()) 做了什么?
当我们训练自己的神经网络的时候,无一例外的就是都会加上一句 sess.run(tf.global_variables_initializer()) ,这行代码的官方解释是 初始化模型的参数.那么,它到 ...
- win10 SVN不能显示图标
参考的解决办法有很多(http://blog.csdn.net/lishehe/article/details/8257545),大多数是操作一下注册表. 我就按照他们的办法,svn的注册表顺序根本上 ...
- public private protected extends
public公共,加上这个修饰的类或属性,可以在同一个包或者别的包里面访问 private私有的,加上这个修饰的类或属性,只能在同类里访问,同包和别的包不能访问 protected保护,加上这个修饰的 ...
- 如何通过钉钉扫码登录odoo
更加方便快捷的登录odoo,实现免密码登录,有需要此模块朋友加我微信18310744639 1.首先你需要一个钉钉管理员权限,以便获取appid, appsecret,corpid, corpsecr ...
- LeetCode 976 Largest Perimeter Triangle 解题报告
题目要求 Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero ...