JavaScript里处理数字的一些常用方法
<p><strong>1.</strong><span class="code_marked"><strong>toString() 把字符串转换为数值。</strong></span></p><div class="cnblogs_code">
<pre>let num = 123<span style="color: rgba(0, 0, 0, 1)">;
console.log(</span><span style="color: rgba(0, 0, 255, 1)">typeof</span>(num)); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">number</span>
console.log(<span style="color: rgba(0, 0, 255, 1)">typeof</span>(num.toString())) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">string</span></pre>
</div>
<ul>
<li>typeof() 判断数据类型</li>
</ul>
<p><strong>2.toLocaleString() 方法可把一个 Number 对象转换为本地格式的字符串。</strong></p>
<p>LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号可能变化;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> a = 6666<span style="color: rgba(0, 0, 0, 1)">;
a.toLocaleString();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> "6,666"</span>
<span style="color: rgba(0, 0, 0, 1)">a.toString();
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">"6666"</span></pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> dt = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Date();
console.log(dt.toLocaleString());
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">2019/9/11 下午4:46:04</span>
<span style="color: rgba(0, 0, 0, 1)">console.log(dt.toString());
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">Wed Sep 11 2019 16:46:04 GMT+0800</span></pre>
</div>
<p> </p>
<p><strong>3.<span class="code_marked">toFixed() 返回字符串值,它包含了指定位数小数的数字。</span></strong></p>
<div class="cnblogs_code">
<pre>let num1 = 3.1415<span style="color: rgba(0, 0, 0, 1)">;
console.log(num1.toFixed(</span>0)); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 3</span>
console.log(num1.toFixed(1)); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 3.1</span>
console.log(num1.toFixed(2)); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 3.14</span>
console.log(num1.toFixed(5)); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 3.14150</span></pre>
</div>
<ul>
<li><span class="code_marked">toFixed(2) 非常适合处理金钱。</span></li>
</ul>
<p> </p>
<p><strong>4.<span class="code_marked">Number() 可用于把 JavaScript 变量转换为数值。</span></strong></p>
<div class="cnblogs_code">
<pre>Number(<span style="color: rgba(0, 0, 255, 1)">true</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1</span>
Number(<span style="color: rgba(0, 0, 255, 1)">false</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">0 </span>
let x = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Date();
console.log(Number(x)); </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1568186258917 时间戳Number() 方法返回 1970 年 1 月 1 日至今的毫秒数</span>
console.log(Number(<span style="color: rgba(0, 0, 255, 1)">new</span> Date("2019-09-11"))); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 1568186258917 时间戳 Number() 还可以把日期转换为数字:</span>
<span style="color: rgba(0, 0, 0, 1)">
Number(</span>'12'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 12数字类型</span>
Number(11 22); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN </span>
Number(undefined); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">NaN </span></pre>
</div>
<p> </p>
<p>特殊情况 因为空字符串、null 和0都是false</p>
<div class="cnblogs_code">
<pre>Number(<span style="color: rgba(0, 0, 255, 1)">null</span>) ;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">0;</span>
Number(''); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">0;</span></pre>
</div>
<p> </p>
<p><strong>5.<span class="code_marked">parseInt() 解析一段字符串,并返回一个整数。(取整)</span></strong></p>
<div class="cnblogs_code">
<pre>parseInt("10"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseInt("10.33"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseInt("10 20 30"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseInt("10 years"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseInt("years 10"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 NaN 如果无法转换为数值,则返回 <span class="code_marked">NaN (Not a Number) </span></span></pre>
</div>
<p><strong>6.parseFloat()解析一个字符串,并返回一个浮点数。</strong></p>
<ul>
<li><span class="code_marked">parseFloat() 解析一段字符串并返回数值。允许空格。只返回首个数字</span></li>
<li>如果无法转换为数值,则返回 <span class="code_marked">NaN (Not a Numbe)</span></li>
</ul>
<div class="cnblogs_code">
<pre>parseFloat("10"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseFloat("10.33"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10.33</span>
parseFloat("10 20 30");<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseFloat("10 years");<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 10</span>
parseFloat("years 10");<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 返回 NaN</span></pre>
<pre></pre>
</div>
<p><strong>7. Math.min() 方法可返回两个指定的数中带有较小的值的那个数。</strong></p>
<div class="cnblogs_code">
<pre>Math.min(5,'7'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">5</span>
Math.min(5,'q'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">NaN 如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN</span></pre>
</div>
<p><strong><strong>8. Math.max() 方法可返回两个指定的数中带有较大的值的那个数。</strong></strong></p>
<div class="cnblogs_code">
<pre>Math.max(5,'7'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">7</span>
Math.max(5,'q'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">NaN 如果有某个参数为 NaN,或是不能转换成数字的非数字值,则返回 NaN</span></pre>
</div>
<p><strong>9.Math.abs() 方法可返回数的绝对值</strong></p>
<div class="cnblogs_code">
<pre>Math.abs(-7.25); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 7.25</span></pre>
</div>
<p><strong>10.Math.ceil() 方法可对一个数进行上舍入</strong></p>
<ul>
<li>ceil() 方法执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。</li>
</ul>
<div class="cnblogs_code">
<pre>Math.ceil(0.60); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">1</span>
Math.ceil(0.40); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">1</span>
Math.ceil(-5.1); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">5</span></pre>
</div>
<p><strong>11.Math.floo() 方法可对一个数进行下舍入</strong></p>
<div class="cnblogs_code">
<pre>Math.floor(0.60); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">0</span>
Math.floor(0.40); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">0</span>
Math.floor(-5.1); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">-6</span></pre>
</div>
<p> </p>
<p><strong><strong>12.Number.isInteger() 用于判断其参数是为整数</strong></strong></p>
<div class="cnblogs_code">
<pre>Number.isInteger(0);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> true</span>
Number.isInteger(0.1);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> false</span></pre>
</div>
<p><strong>13.Number.parseFloat()和parseFloat()一样。</strong></p>
<p><strong><strong>14.Number.parseInt()和parseInt()一样。</strong></strong></p>
<p><strong>15.isNaN() 函数用于检查其参数是否是非数字值(和Number.isNaN()一样)</strong></p>
<p>无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它。</p>
<p>使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。</p>
<p>false的话 就是数字或者隐形数字类型</p>
<div class="cnblogs_code">
<pre>isNaN(123); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> false</span>
isNaN('123'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">false</span>
isNaN('cao'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">true</span>
isNaN('NaN');<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">true</span></pre>
</div>
<p><span style="font-size: 16px"><strong> es6新增</strong></span></p>
<p><strong><span style="font-size: 14px">16.</span>Math.trunc方法用于去除一个数的小数部分,返回整数部分。</strong></p>
<div class="cnblogs_code">
<pre>Math.trunc(4.1) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 4</span>
Math.trunc(4.9) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> 4</span>
Math.trunc(-4.1) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> -4</span>
Math.trunc(-4.9) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> -4</span>
Math.trunc(NaN); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span>
Math.trunc('foo'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span>
Math.trunc(); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span></pre>
</div>
<p><strong>17.Math.sign方法用来判断一个数到底是正数、负数、还是零</strong>参数为正数,返回+1;</p>
<ul>
<li><span style="font-size: 14px; font-family: "Microsoft YaHei"">参数为负数,返回-1;</span></li>
<li><span style="font-size: 14px">参数为正数,返回+1;</span></li>
<li><span style="font-family: "Microsoft YaHei""><span style="font-size: 14px">参数为0,返回0;</span></span></li>
<li><span style="font-family: "Microsoft YaHei""><span style="font-size: 14px">参数为-0,返回-0;</span></span></li>
<li><span style="font-family: "Microsoft YaHei""><span style="font-size: 14px">其他值,返回NaN。</span></span></li>
</ul>
<p> </p>
<div class="cnblogs_code">
<pre> Math.sign(-5) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> -1</span>
Math.sign(5) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> +1</span>
Math.sign(0) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> +0</span>
Math.sign(-0) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> -0</span>
Math.sign(NaN) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span>
Math.sign('foo'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span>
Math.sign(); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> NaN</span></pre>
</div>
<p> </p><br><br>
来源:https://www.cnblogs.com/imMeya/p/11506182.html
頁:
[1]