迩鎏鎈论坛

 找回密码
 立即注册
开启左侧

JavaScript函数 Number()、parseInt()、parseFloat()的区别

[复制链接]
发表于 2023-3-2 19:25:45 | 显示全部楼层 |阅读模式 来自 LAN

Number()、parseInt()、parseFloat()的区别:

Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。parseInt()和parseFloat()方法只转换第一个无效字符之前的字符串。如“3.4.5”被转换成“3.4”,

用Number()进行强制类型转换将返回NAN,
如果字符串值能被完整地转换,Number()将判断是调用parseInt()还是parseFloat()。

1
2
3
4
var bb = "35.23ace23";
  document.write(Number(bb));                    //NaN
  document.write(parseFloat(bb));                //35.23
  document.write(parseFloat(Number(bb)));        //NaN  
1
2
3
4
var bb = "35.23ace23";
  document.write(Number(bb));                    //NaN
  document.write(parseFloat(bb));                //35.23
  document.write(parseFloat(Number(bb)));        //NaN  

Number.toFixed(x) 、 Number.toPrecision(x) 、 Math.Round(x)的区别:

Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。
注意:一个是计算小数点后的长度,一个是计算整个数字的长度 。
Math.round() 方法可把一个数字舍入为最接近的整数。

1
2
3
4
5
6
7
8
var aa = 2.3362;
  document.write(aa.toFixed(1));                 // 2.3 
  document.write(aa.toFixed(2));                 // 2.34 
  document.write(aa.toPrecision(2));             // 2.3
  document.write(aa.toPrecision(3));             // 2.34  
  document.write(Math.round(-4.60));             // -5
  document.write(Math.round(aa * 10) / 10);      // 2.3 
  document.write(Math.round(aa * 100) / 100);    // 2.34    

未经允许不得转载:王超博客 » JavaScript函数 Number()、parseInt()、parseFloat()的区别

迩鎏鎈论坛 - 版权声明 1、在发表言论时,请遵守当地法律法规。主题所有言论纯属个人意见,与本站立场无关。
2、本站所有主题由作者发表,作者享有帖子相关版权,其他单位或个人使用、转载或引用本文时必须征得作者同意并注明来源于迩鎏鎈论坛
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。
4、帖子不遵守当地法律法规、广告、人身攻击等情况时,迩鎏鎈论坛管理人员有权不事先通知发贴者而删除本文。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迩鎏鎈论坛 ( 闽ICP备19021048号 )|站点地图

GMT+8, 2025-8-30 15:42 , Processed in 0.111221 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表