JavaScript函数 Number()、parseInt()、parseFloat()的区别
<p><strong>Number()、parseInt()、parseFloat()的区别:</strong></p><p>Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串。如“3.4.5”被转换成“3.4”,</p>
<p>用Number()进行强制类型转换将返回NAN,<br>
如果字符串值能被完整地转换,Number()将判断是调用parseInt()还是parseFloat()。</p>
<div class="codecolorer-container javascript vibrant" style="overflow:auto;white-space:nowrap;width:700px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br>3<br>4<br></div></td><td><div class="javascript codecolorer"><span class="kw1">var</span> bb <span class="sy0">=</span> <span class="st0">"35.23ace23"</span><span class="sy0">;</span><br>
document.<span class="me1">write</span><span class="br0">(</span><span class="kw4">Number</span><span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//NaN</span><br>
document.<span class="me1">write</span><span class="br0">(</span>parseFloat<span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//35.23</span><br>
document.<span class="me1">write</span><span class="br0">(</span>parseFloat<span class="br0">(</span><span class="kw4">Number</span><span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//NaN </span></div></td></tr></tbody></table></div>
<div class="codecolorer-container javascript vibrant" style="overflow:auto;white-space:nowrap;width:700px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br>3<br>4<br></div></td><td><div class="javascript codecolorer"><span class="kw1">var</span> bb <span class="sy0">=</span> <span class="st0">"35.23ace23"</span><span class="sy0">;</span><br>
document.<span class="me1">write</span><span class="br0">(</span><span class="kw4">Number</span><span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//NaN</span><br>
document.<span class="me1">write</span><span class="br0">(</span>parseFloat<span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//35.23</span><br>
document.<span class="me1">write</span><span class="br0">(</span>parseFloat<span class="br0">(</span><span class="kw4">Number</span><span class="br0">(</span>bb<span class="br0">)</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">//NaN </span></div></td></tr></tbody></table></div>
<p><strong>Number.toFixed(x) 、 Number.toPrecision(x) 、 Math.Round(x)的区别:</strong></p>
<p>Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。<br>
注意:一个是计算小数点后的长度,一个是计算整个数字的长度 。<br>
Math.round() 方法可把一个数字舍入为最接近的整数。</p>
<div class="codecolorer-container javascript vibrant" style="overflow:auto;white-space:nowrap;width:700px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br></div></td><td><div class="javascript codecolorer"><span class="kw1">var</span> aa <span class="sy0">=</span> <span class="nu0">2.3362</span><span class="sy0">;</span><br>
document.<span class="me1">write</span><span class="br0">(</span>aa.<span class="me1">toFixed</span><span class="br0">(</span><span class="nu0">1</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.3 </span><br>
document.<span class="me1">write</span><span class="br0">(</span>aa.<span class="me1">toFixed</span><span class="br0">(</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.34 </span><br>
document.<span class="me1">write</span><span class="br0">(</span>aa.<span class="me1">toPrecision</span><span class="br0">(</span><span class="nu0">2</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.3</span><br>
document.<span class="me1">write</span><span class="br0">(</span>aa.<span class="me1">toPrecision</span><span class="br0">(</span><span class="nu0">3</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.34 </span><br>
document.<span class="me1">write</span><span class="br0">(</span><span class="kw4">Math</span>.<span class="me1">round</span><span class="br0">(</span><span class="sy0">-</span><span class="nu0">4.60</span><span class="br0">)</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// -5</span><br>
document.<span class="me1">write</span><span class="br0">(</span><span class="kw4">Math</span>.<span class="me1">round</span><span class="br0">(</span>aa <span class="sy0">*</span> <span class="nu0">10</span><span class="br0">)</span> <span class="sy0">/</span> <span class="nu0">10</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.3 </span><br>
document.<span class="me1">write</span><span class="br0">(</span><span class="kw4">Math</span>.<span class="me1">round</span><span class="br0">(</span>aa <span class="sy0">*</span> <span class="nu0">100</span><span class="br0">)</span> <span class="sy0">/</span> <span class="nu0">100</span><span class="br0">)</span><span class="sy0">;</span> <span class="co1">// 2.34 </span></div></td></tr></tbody></table></div>
<p class="post-copyright">未经允许不得转载:<ahref="https://www.wangchao.info/">王超博客</a> » <ahref="https://www.wangchao.info/1296.html">JavaScript函数 Number()、parseInt()、parseFloat()的区别</a></p>
页:
[1]