javascript报错BigNumber的overflow错误?怎么解决

博客讲述了在前端开发中遇到的一个问题:输入大数(如1e18)作为函数参数时,直接传递可以正常运行,但当数值先保存为小数再乘以1e18后,传递给函数导致BigNumber错误。解决方案是将处理后的数值转换为字符串。作者分享了编程经验,强调自我尝试、清晰提问和善用搜索引擎的重要性。
摘要由CSDN通过智能技术生成

        最近做项目的时候碰到的这个问题,起初我也很迷惑,询问同事之后,一下点醒我。

问题描述

        需求是,函数的参数接受input框中的值,我在input框中输入了1e18的数,这个时候函数是可以正常接受这个参数进行运行的。

        可是,如果我是实现将这个input框中的值保存下来,事先说明,这个时候保存的值是小数,之后需要乘1e18,就是这样,我将这样处理之后的数传到了函数的参数中进行处理,但是控制太却报了BigNumber的错误,告诉我overflow了。

        然后第一种情况我也是输入了10^18的数,也是直接传给函数的参数的,为什么就可以正常运行呢?

解决办法

        之后同事叫我把第二种情况处理的数据转换成字符串,也就是toString一下,结果就可以正常运行函数了。

        如果各位也碰到了类似的问题的话, 可以不妨一试。

写在最后

        虽然我也才是刚刚入行,但是也给些我从前端前辈那里听来的建议吧,

        1.不管有自己有什么想法,有任何的可能性,都要自己先尝试过去,如果觉得所有情况的都尝试过去了,实在解决不了了的话,再去问别人。

        2.善用搜索引擎。程序员就多用Google吧,你公司肯定能上Google,实在不行自己想办法。          3.就算到了不得不问别人的时候,一定一定要将自己的问题给描述清楚,自己哪里不清楚?是哪个功能实现不了吗?那这个功能实现到什么部分了?是否有将一个大功能划分成一个个小功能?你觉得自己的问题出在哪里?往往这些都是自己需要考虑的。

        4.问别人的时候,尽量一针见血,废话说少一些。

        这些话即想帮助刚入行的新人(虽然我现在也是新人),也是写给自己看的,希望自己可以一直在前端的道路上走下去,如果有小伙伴想一起交流学习经验可以私信我。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值