JS中传递数字过大,数据值会变化的解决办法

虽然本人从事后端业务为主,但是在实际开发中难免或多或少会遇到与js打交道的情况,今天记录一个实际开发中遇到的小问题,与大家分享如下:

如果要在js函数中传递大整型数值,一定要用字符串,否则会出现精度变化的情况,不准确

...
onclick="testfun(20221123140846431743)"
...

function testfun(number) {
console.info(number)
}

控制台打印:
20221123140846432000

===========================================
...
onclick="testfun('20221123140846431743')"
...

function testfun(number) {
console.info(number)
}
控制台打印:20221123140846431743
 

解决办法:要使用单引号包裹,转为字符串,否则会按照整型数据处理,精度会丢失。

posted @ 2023-06-01 10:04  一剑一叶一花  阅读(583)  评论(0编辑  收藏  举报