<p>js四舍五入保留两位小数,js带符号的四舍五入保留两位小数。在JavaScript中,有一个问题一直被没有很好地解决,就是小数点保留指定的位数,也就是我们通常说的Math.Round()函数。</p><p>下面这篇文章主要介绍了js四舍五入保留两位小数,涉及javascript针对浮点数的数值运算相关技巧,需要的朋友可以参考下:</p><p><strong>js四舍五入保留两位小数方法封装一:</strong></p><p>//四舍五入保留2位小数(若第二位小数为0,则保留一位小数)</p><pre class="brush:js;toolbar:false">function twoDecimal(num) { if ( !parseFloat(num) ) { console.log('传递参数错误,请检查!'); return false; } return Math.round(num * 100) / 100; }</pre><p><strong style="white-space: normal;">js四舍五入保留两位小数方法封装二:</strong></p><p>//四舍五入保留2位小数(不够位数,则用0替补)</p><pre class="brush:js;toolbar:false">function twoDecimal(num) { var result = parseFloat(num); if ( !result ) { console.log('传递参数错误,请检查!'); return false; } result = Math.round(num * 100) / 100; var str = result.toString(); var decimal = str.indexOf('.'); if ( decimal < 0 ) { decimal = str.length; str += '.'; } while ( str.length <= decimal + 2 ) { str += '0'; } return str; }</pre><p>哈哈,说了这么多,下面有一个是小编最近新发现的,有兴趣的朋友可以参考下:</p><p>Number.toFixed()方法,能保留小数点后面的指定位数,但如果执行2.1.toFixed(2)的话,会返回2.10,而不是我们期待的2.1,所以,这个方法也不太可取。</p><p>最近我发现一个很简单的方法,假设我要对0.105进行四舍五入并保留两位小数,如果直接调用Math.Round()的话,结果是0,如果直接调用.toFixed(2)方法的话,会返回0.10,最简单有效的方法就是对0.105先乘以100,再调用Math.Round(),然后再除以100,就OK了。</p><pre class="brush:js;toolbar:false">var number = 0.105; console.log(Math.round(number * 100) / 100);</pre><p>浏览器控制台会打印如下结果:</p><pre class="brush:js;toolbar:false">0.11</pre><p>以上这篇“js四舍五入保留两位小数”就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小编哟。</p>