亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解javaScript中Number數(shù)字類型的使用

 更新時間:2022年04月28日 15:30:34   作者:程序猿布?xì)W  
Number和Math都屬于JavaScript中的內(nèi)置對象,Number數(shù)字類型作為基礎(chǔ)數(shù)據(jù)類型,我們在開發(fā)過程中會經(jīng)常用到,包括數(shù)字精度的格式化,還有字符串轉(zhuǎn)換成數(shù)字等操作。本文將詳細(xì)講解其用法,感興趣的可以了解一下

前言

Number和Math都屬于JavaScript中的內(nèi)置對象,Number數(shù)字類型作為基礎(chǔ)數(shù)據(jù)類型,我們在開發(fā)過程中會經(jīng)常用到,包括數(shù)字精度的格式化,還有字符串轉(zhuǎn)換成數(shù)字等操作。

Number數(shù)字

自帶屬性值

Number.EPSILON 兩個可表示(representable)數(shù)之間的最小間隔。

Number.MAX_SAFE_INTEGER JavaScript 中最大的安全整數(shù) (2^53 - 1)。

Number.MAX_VALUE 能表示的最大正數(shù)。最小的負(fù)數(shù)是 -MAX_VALUE。

Number.MIN_SAFE_INTEGER JavaScript 中最小的安全整數(shù) (-(2^53 - 1)).

Number.MIN_VALUE 能表示的最小正數(shù)即最接近 0 的正數(shù) (實際上不會變成 0)。最大的負(fù)數(shù)是 -MIN_VALUE。

Number.NaN 特殊的“非數(shù)字”值。

Number.NEGATIVE_INFINITY 特殊的負(fù)無窮大值,在溢出時返回該值。

Number.POSITIVE_INFINITY 特殊的正無窮大值,在溢出時返回該值。

基礎(chǔ)使用

new Number實例化數(shù)字對象和Number強(qiáng)轉(zhuǎn)數(shù)字字符串,兩個值的并不相等

var value1 = new Number("123");
this.value1 = value1;
console.log(`value1 === 123 is ${value1 === 123}`); // value1 === 123 is false

var value2 = Number("123");
this.value2 = value2;
console.log(`value2 === 123 is ${value2 === 123}`); // value2 === 123 is true


// 判斷Number類型
console.log(value1 instanceof Number);
console.log(value2 instanceof Number);

Number將轉(zhuǎn)換字符串為數(shù)字

Number("123"); // 123
Number("12.3"); // 12.3
Number("12.00"); // 12
Number("123e-1"); // 12.3
Number(""); // 0
Number(null); // 0
Number("0x11"); // 17
Number("0b11"); // 3
Number("0o11"); // 9
Number("foo"); // NaN
Number("100a"); // NaN
Number("-Infinity"); //-Infinity

Number判斷數(shù)字是否是NAN

let number1 = new Number("123");
let number2 = 123;
let number3 = "string";
let number4 = null;
console.log(Number.isNaN(number1)); //  false
console.log(Number.isNaN(number2)); //  false
console.log(Number.isNaN(number3)); //  false
console.log(Number.isNaN(number4)); //  false
console.log(Number.isNaN(NaN)); //  true

Number.isFinite 是否是一個有窮數(shù)

console.log(Number.isFinite(1 / 0));
// false
console.log(Number.isFinite(10 / 5));
// true
console.log(Number.isFinite(0 / 0));
// false

Number.isInteger 判斷給定的參數(shù)是否為整數(shù)

function checkInteger(x, y) {
  if (Number.isInteger(y / x)) {
    return "整數(shù)";
  }
  return "非整數(shù)";
}
console.log(checkInteger(5, 10));
// "整數(shù)"
console.log(checkInteger(5, 11));
// "非整數(shù)"

Number.isSafeInteger 判斷傳入的參數(shù)值是否是一個“安全整數(shù)”(safe integer)

備注:

Number.isSafeInteger() 方法用來判斷傳入的參數(shù)值是否是一個“安全整數(shù)”(safe integer)。

一個安全整數(shù)是一個符合下面條件的整數(shù):

可以準(zhǔn)確地表示為一個IEEE-754雙精度數(shù)字,
其IEEE-754表示不能是舍入任何其他整數(shù)以適應(yīng)IEEE-754表示的結(jié)果。

比如,2^53 - 1 是一個安全整數(shù),它能被精確表示,在任何 IEEE-754 舍入模式(rounding mode)下,沒有其他整數(shù)舍入結(jié)果為該整數(shù)。作為對比,2^53 就不是一個安全整數(shù),它* 能夠使用 IEEE-754 表示,但是 2^53 + 1 不能使用 IEEE-754 直接表示,在就近舍入(round-to-nearest)和向零舍入中,會被舍入為 2^53。

安全整數(shù)范圍為 -(2^53 - 1)到 2^53 - 1 之間的整數(shù),包含 -(2^53 - 1)和 2^53 - 1。

Number.isSafeInteger(3); // true
Number.isSafeInteger(Math.pow(2, 53)); // false
Number.isSafeInteger(Math.pow(2, 53) - 1); // true
Number.isSafeInteger(NaN); // false
Number.isSafeInteger(Infinity); // false
Number.isSafeInteger("3"); // false
Number.isSafeInteger(3.1); // false
Number.isSafeInteger(3.0); // true

Number.parseFloat 將字符串?dāng)?shù)字轉(zhuǎn)成數(shù)字類型

備注:

  • 方法可以把一個字符串解析成浮點數(shù)。該方法與全局的 parseFloat() 函數(shù)相同,并且處于 ECMAScript 6 規(guī)范中(用于全局變量的模塊化)。
  • 給定值被解析成浮點數(shù),如果無法被解析成浮點數(shù),則返回NaN
function checkFloat(r) {
  return parseFloat(r);
}
console.log(checkFloat(4.567));
// 4.567
console.log(checkFloat("4.567abcdefgh"));
// 4.567
console.log(checkFloat("abcdefgh"));
// NaN

Number.parseInt 將數(shù)字字符串轉(zhuǎn)成整數(shù)

/**
 *
 * Number.parseInt()
 * 方法依據(jù)指定基數(shù) [ 參數(shù) radix 的值],把字符串 [ 參數(shù) string 的值] 解析成整數(shù)。
 * @params string:要解析的值。 如果此參數(shù)不是字符串,則使用ToString抽象操作將其轉(zhuǎn)換為字符串。忽略此參數(shù)中的前導(dǎo)空格。
 * @params radix:一個介于2到36之間的整數(shù),代表字符串的基數(shù)(數(shù)學(xué)數(shù)字系統(tǒng)中的基)。小心-這并不是默認(rèn)為10。
 * 從給定字符串中解析的整數(shù)。如果基數(shù)小于11,且第一個非空白字符不能轉(zhuǎn)換為數(shù)字,則返回NaN。
 *
 * */
 
function checkInt(x, base) {
  const parsed = parseInt(x, base);
  if (isNaN(parsed)) {
    return 0;
  }
  return parsed * 100;
}
console.log(checkInt(" 0xF", 16));
// 1500
console.log(checkInt("321", 2));
// 0

Number.prototype.toFixed() 把數(shù)字轉(zhuǎn)換為字符串,返回小數(shù)點后有指定位數(shù)的數(shù)字

var numObj = 5.123456;
var n = numObj.toFixed(2); // 5.12

Number.prototype.toPrecision() 以指定的精度返回該數(shù)值對象的字符串表示

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
// 注意:在某些情況下會以指數(shù)表示法返回
console.log((1234.5).toPrecision(2)); // "1.2e+3"

Number 轉(zhuǎn)換 Date 對象

var d = new Date("December 17, 1995 03:24:00");
console.log(Number(d));

總結(jié)

在Number數(shù)字類型中,使用最多的應(yīng)該是:

  • isNaN判斷數(shù)字是否是非數(shù)字NAN
  • parseFloat將數(shù)字字符串轉(zhuǎn)成數(shù)字類型
  • parseInt 解析字符串轉(zhuǎn)成整數(shù)
  • toPrecision作為數(shù)字的方法,返回該數(shù)值的指定精度,包含小數(shù)位
  • toFixed 返回指定小數(shù)點精度的數(shù)字,需要注意和toPrecision區(qū)分開來

源碼地址

碼云 

github

以上就是詳解javaScript中Number數(shù)字類型的使用的詳細(xì)內(nèi)容,更多關(guān)于javaScript Number數(shù)字類型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論