记录个bug
问题:
由于调用接口,后台需要传递一个数值,为120531784730937088,并且是integer类型,但是前端获取的值为字符串:"120531784730937088"
所以要将"120531784730937088"转换为number类型
var a = Number("120531784730937088")
打印a发现失去精度了,值为120531784730937090
原因:
js的number类型有个最大值(安全值)。即2的53次方,为9007199254740992。如果超过这个值,那么js会出现不精确的问题。这个值为16位。
解决:(3种方式)
1. 后端改成接收字符串类型
2.控制值的长度
3.后端加个字符串a去映射这个number,然后传递a给后端