JavaScript一行代码保留任意位小数
程序员文章站
2022-05-25 10:09:58
...
今天做一个业务时,结果由于跟权重有关,Java默认显示保留的是15位小数,所以客户要求保留3位小数,其实这个需求很简单,前台,后台都可以完成这个任务,但是为了系统的性能考虑,这种工作,能用前台完成就用前台完成吧,尽量用客户端分担服务器的压力,尤其是在高并发的场景下,任何一个细节都有可能影响整体的性能,进而并发数量越大,这个细节就会有可能扩大成致命的问题。
好了,不说废话了,进入正题,这个保留小数位的做法,JS可以有很多种实现方法,网上一搜又是一大堆循环截取,又是下载第三方插件js完成,其实都可以,但是没必要那么麻烦,截取出来的小数位没有四舍五入的功能,所以也被放弃了,最后直接使用Math这个函数来完成就可以了
,使用方法,Math.round(小数*10)/10.0保留一位小数,Math.round(小数*100)/100.0保留二位小数,依次类推就可以实现保留任意位小数了,并具有四舍五入的功能,另外需要注意的是,如果最后一位小数为0,那么JS就会自动省略,当然,我们大部分业务都是保留1-3位小数。
散仙的JS核心代码如下:
无保留小数的结果:
保留3位小数后的结果:
效果还不错!
好了,不说废话了,进入正题,这个保留小数位的做法,JS可以有很多种实现方法,网上一搜又是一大堆循环截取,又是下载第三方插件js完成,其实都可以,但是没必要那么麻烦,截取出来的小数位没有四舍五入的功能,所以也被放弃了,最后直接使用Math这个函数来完成就可以了
,使用方法,Math.round(小数*10)/10.0保留一位小数,Math.round(小数*100)/100.0保留二位小数,依次类推就可以实现保留任意位小数了,并具有四舍五入的功能,另外需要注意的是,如果最后一位小数为0,那么JS就会自动省略,当然,我们大部分业务都是保留1-3位小数。
散仙的JS核心代码如下:
Math.round(n.tf*1000)/1000.0
无保留小数的结果:
保留3位小数后的结果:
效果还不错!