js传递太大数字会出现错误onclick函数

在使用JS处理长数字时,发现超过16位数会出现精度错误,导致数值变化。通过将数字作为字符串传递,解决了这个问题。在HTML的onclick事件中,使用单引号将Spring EL表达式括起来,确保了长数字的正确传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在项目中,使用onclick函数传递订单号,这个订单号有17位长,传递的时候明明传递的是正确的数值,可是在谷歌浏览器中F12看一下,数值总会加一,即数值会变化,原来js对于数字的精度仅能达到16位数,超过就会出现精度错误,即数值会发生改变。这个是一个大坑,因为如果是16位一下,就正常。

我原来的写法:

 <a href="#" class="btn btn-primary btn-xs" data-toggle="modal"
                                       data-target="#customerEditDialog"
                                       onclick="editInfo(${row.orderno})">查看&修改</a>

解决办法就是把数字当成字符串来传递,那么spring的EL表达式怎么当成字符串传递呢?

直接使用单引号加起来就ok了,我修改后:

 <a href="#" class="btn btn-primary btn-xs" data-toggle="modal"
                                       data-target="#customerEditDialog"
                                       onclick="editInfo('${row.orderno}')">查看&修改</a>

这里说明一点:其实在onclick里面要把spring EL表达式当成参数来传递,要用单引号括起来。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值