Discuss / JavaScript / Number对象

Number对象

Topic source

刘客青

#1 Created at ... [Delete] [Delete and Lock User]

廖老师,一直以来对js中的Number对象比较困惑.比如在js中有数据转换为数字用到了parseInt,parseFloat.保留小数位用到了toFixed().但是这些数值初始类型是int?float?double?为什么没有用toFixed(),数值显示又会自动取舍.数值计算之后,存储的又是什么类型的数据?麻烦您解惑.

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

js的Number是56位精度的数值,而且不区分整数和浮点数,1和1.0在js中是一样的。

Math.floor可以把小数去掉,看上去就是整数了:Math.floor(1.1) -> 1

parseInt,parseFloat,toFixed都是为了在string和number进行转换

其它语言的整数和js转换时要注意过大的64位整数无法精确转换成js的number

可以自己试试:

console.log(9007199254749999);


  • 1

Reply