<p>js四舍五入保留一位小数,js四舍五入保留一位小数点。上个月接了一个小程序的小活,在开发完毕上线的时候遇到了一个问题,特此记录下来。</p><p>需求:</p><p>客户下单时,单价和数量存在两位小数,但总价需要保留一位小数,且需要四舍五入,最先开始在小程序页面的js中使用toFixed(1)函数保留一位小数并四舍五入,经测试没问题,能够正常使用。</p><p>问题:</p><p>但在实际生产环境中,订单量增多的情况下总价会出现很多种比如1.65,22.85等小数点第二位是5的情况下就会发现保留1位小数后并没有四舍五入,得到的值是1.6和22.8,究其原因还是怪自己测试的时候数据量不够全面。</p><p>发现问题总是要解决的,查找了很多关于四舍五入的资料发现这方面好像很少有人遇到过这个问题,后来自己改了代码,决定不用toFixed()函数来进行四舍五入保留一位小数了。</p><p>解决办法:</p><p><strong>使用Math.round(x)来进行数值转换。</strong></p><p>Math.round(x)中round() 方法可把一个数字舍入为最接近的整数。比如2.5 将舍入为 3,而 -2.5 将舍入为 -2。</p><p>那么保留一位小数的情况下我们该如何使用?如下所示:</p><pre class="brush:js;toolbar:false">var f = Math.round(totalPrice * 10) / 10</pre><p>先将所得的总价先乘以10,然后使用Math.round()函数取最接近的整数后,再除以10就可以得到正确的值了。</p><p>如1.65*10=16.5,取整后为17,再除以10就得到了1.7,保留1位小数又能够四舍五入了,同理保留两位小数也一样先乘以100取整后再除以100就行了。</p><p>好了,以上就是关于“js四舍五入保留一位小数,js四舍五入保留一位小数点”的全部内容了,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。</p>