let num=1 原始类型
1 .这样创建的一个是原始类型
image.png
2 .原始类型并不是一个对象,并没有对象橘有的一些属性和方法.但是可以调用toFixed()这些方法,真相就是这些方法都是从包装对象借用的,toFixed方法是在Number对象原型上的方法
image.png
//可以看到截图里面有这个
let num=new Number(1) 包装对象
1 .创建了一个对象
2 .typeof num==object
其他方法讲解
1 .toExponential:把对象的值转成指数计数法,返回的是个字符串
2 .toFixed:也会转为字符串.把数字转换为字符串,结果的小数点后有指定位数的数字.一直以为这是一个数字的方法,还是会返回数字..
3 .toLocaleString:toLocaleString() 方法返回数字在特定语言环境下的表示字符串.先简答了解,后面真的用的时候在细看,总的来说就是数字转为当地的数字添加一些字符串比较实用
let num = 1234567.89
console.log(num.toLocaleString('de-DE'))
//德国:使用都好作为小数分隔符,分位周期为千位
console.log(num.toLocaleString('ar-EG'))
//阿拉伯直接转为阿拉伯数字:强啊
console.log(num.toLocaleString('zh-Hans-CN-u-nu-hanidec'))
//数字转为汉字
console.log(num.toLocaleString(['ban', 'od']))
//提供一个数组,不满足前一个的时候,转为后一个
options部分
var number = 123456.789;
// 要求货币格式
console.log(number.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
// → 123.456,79 €
// 日元不使用小数位
console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }))
// → ¥123,457
// 限制三位有效数字
console.log(number.toLocaleString('en-IN', { maximumSignificantDigits: 3 }));
// → 1,23,000
4 .toPrecision:定的精度返回该数值对象的字符串表示:这个才是想要的四舍五入的操作.还是不能用
let num = 123.456789
console.log(num.toPrecision(1))
//返回123.5,直接触发特殊情况,返回一个指数表示 1e+2
//拿感觉这个方法还是不能用
var numObj = 5.123456;
console.log("numObj.toPrecision() is " + numObj.toPrecision()); //输出 5.123456
console.log("numObj.toPrecision(5) is " + numObj.toPrecision(5)); //输出 5.1235
console.log("numObj.toPrecision(2) is " + numObj.toPrecision(2)); //输出 5.1
console.log("numObj.toPrecision(1) is " + numObj.toPrecision(1)); //输出 5
// 注意:在某些情况下会以指数表示法返回
console.log((1234.5).toPrecision(2)); // "1.2e+3"
5 .
网友评论