Js中Number对象的使用

目录

        1.什么是Number对象

        2.如何创建Number对象

                        字面量法

                        函数语法

        3.Number常用方法

                        isNaN()

                        parseFloat()

                        parseInt()

                        toFixed()

                        isInteger()

                        isFinite()

                        toString()

                        isSafeInteger()


        1.什么是Number对象

        Number构造函数包含用于处理数字的常量和方法。其他类型的值可以使用该Number()函数转换为数字。Number是一个原始包装对象,用于表示和操作像37or之类的数字-9.25Number也可以用字面形式表示,如0b101, 0o13, 0x0A。

        2.如何创建Number对象

                        字面量法

123    // one-hundred twenty-three
123.0  // same
123 === 123.0  // true

                        函数语法

Number('123')  // returns the number 123
Number('123') === 123  // true

Number("unicorn")  // NaN
Number(undefined)  // NaN

        3.Number常用方法

                        isNaN()

                                Number.isNaN()方法确定传递的值是否为NaN,其类型是否为Number。它是原始 global 的更强大版本isNaN。

function typeOfNaN(x) {
  if (Number.isNaN(x)) {
    return 'Number NaN';
  }
  if (isNaN(x)) {
    return 'NaN';
  }
}

console.log(typeOfNaN('100F'));
// 输出: "NaN"

console.log(typeOfNaN(NaN));
// 输出: "Number NaN"

                        parseFloat()

                                Number.parseFloat()方法解析一个参数并返回一个浮点数。如果无法从参数中解析出数字,则返回NaN

function circumference(r) {
  if (Number.isNaN(Number.parseFloat(r))) {
    return 0;
  }
  return parseFloat(r) * 2.0 * Math.PI ;
}

console.log(circumference('4.567abcdefgh'));
// 输出: 28.695307297889173

console.log(circumference('abcdefgh'));
// 输出: 0

                        parseInt()

                                该Number.parseInt()方法解析字符串参数并返回指定基数或基数的整数。

function roughScale(x, base) {
  const parsed = Number.parseInt(x, base);
  if (Number.isNaN(parsed)) {
    return 0;
  }
  return parsed * 100;
}

console.log(roughScale(' 0xF', 16));
// 输出: 1500

console.log(roughScale('321', 2));
// 输出: 0

                        toFixed()

                                该toFixed()方法使用定点表示法格式化数字。

function financial(x) {
  return Number.parseFloat(x).toFixed(2);
}

console.log(financial(123.456));
// 输出: "123.46"

console.log(financial(0.004));
// 输出: "0.00"

console.log(financial('1.23e+5'));
// 输出: "123000.00"

                        isInteger()

                                该Number.isInteger()方法确定传递的值是否为整数。

function fits(x, y) {
  if (Number.isInteger(y / x)) {
    return 'Fits!';
  }
  return 'Does NOT fit!';
}

console.log(fits(5, 10));
// 输出: "Fits!"

console.log(fits(5, 11));
// 输出: "Does NOT fit!"

                        isFinite()

                                该Number.isFinite()方法确定传递的值是否为有限数——也就是说,它检查给定值的类型是否为Numbe,并且该数字既不是正数 ,也不是Infinity负数Infinity,也不是NaN。

console.log(Number.isFinite(1 / 0));
// 输出: false

console.log(Number.isFinite(10 / 5));
// 输出: true

console.log(Number.isFinite(0 / 0));
// 输出: false

                        toString()

                                该toString()方法返回一个表示指定Number对象的字符串。

function hexColour(c) {
  if (c < 256) {
    return Math.abs(c).toString(16);
  }
  return 0;
}

console.log(hexColour(233));
// 输出: "e9"

console.log(hexColour('11'));
// 输出: "b"

                        isSafeInteger()

                                该Number.isSafeInteger()方法确定提供的值是否是一个安全整数

function warn(x) {
  if (Number.isSafeInteger(x)) {
    return 'Precision safe.';
  }
  return 'Precision may be lost!';
}

console.log(warn(Math.pow(2, 53)));
// 输出: "Precision may be lost!"

console.log(warn(Math.pow(2, 53) - 1));
// 输出: "Precision safe."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值