1、问题
今天遇到个神奇的问题,后端传给前端值为xxxxxxxxxxxxxx0001(一共18位,最后一位为1),经过前端处理再传到后端时,接收到的值为xxxxxxxxxxxxxx0000(还是18位,但是最后一位由1变成了0),就很奇怪,what???
2、原因
查了挺多资料发现
原来是JS数字最长为16位,超过部分会自动变成0,xxxxxxxxxxxxxx0001是18位,所以最后两位自动变为了0
3、办法
解决方法也很简单,向后端传数值时,将其变为String类型的即可。
原来的前端代码
<input onclick="function(${longNum})" type="button" value="按钮"/>
修改后
<input onclick="function('${longNum}')" type="button" value="按钮"/>
成功解决