1. 程式人生 > 實用技巧 >JavaScript 數值方法

JavaScript 數值方法

Number 方法幫助您處理數值。

Number 方法和屬性

原始值(比如 3.14 或 2016),無法擁有屬性和方法(因為它們不是物件)。

但是通過 JavaScript,方法和屬性也可用於原始值,因為 JavaScript 在執行方法和屬性時將原始值視作物件。

toString() 方法

toString()以字串返回數值。

所有數字方法可用於任意型別的數字(字面量、變數或表示式):

例項

var x = 123;
x.toString();            // 從變數 x 返回 123
(123).toString();        // 從文字 123 返回 123
(100 + 23).toString();   // 從表示式 100 + 23 返回 123

親自試一試

toExponential() 方法

toExponential()返回字串值,它包含已被四捨五入並使用指數計數法的數字。

引數定義小數點後的字元數:

例項

var x = 9.656;
x.toExponential(2);     // 返回 9.66e+0
x.toExponential(4);     // 返回 9.6560e+0
x.toExponential(6);     // 返回 9.656000e+0

親自試一試

該引數是可選的。如果您沒有設定它,JavaScript 不會對數字進行舍入。

toFixed() 方法

toFixed()返回字串值,它包含了指定位數小數的數字:

例項

var x = 9.656;
x.toFixed(0);           // 返回 10
x.toFixed(2);           // 返回 9.66
x.toFixed(4);           // 返回 9.6560
x.toFixed(6);           // 返回 9.656000

親自試一試

toFixed(2)非常適合處理金錢。

toPrecision() 方法

toPrecision()返回字串值,它包含了指定長度的數字:

例項

var x = 9.656;
x.toPrecision();        // 返回 9.656
x.toPrecision(2);       // 返回 9.7
x.toPrecision(4);       // 返回 9.656
x.toPrecision(6);       // 返回 9.65600

親自試一試

valueOf() 方法

valueOf()以數值返回數值:

例項

var x = 123;
x.valueOf();            // 從變數 x 返回 123
(123).valueOf();        // 從文字 123 返回 123
(100 + 23).valueOf();   // 從表示式 100 + 23 返回 123

親自試一試

在 JavaScript 中,數字可以是原始值(typeof = number)或物件(typeof = object)。

在 JavaScript 內部使用valueOf()方法可將 Number 物件轉換為原始值。

沒有理由在程式碼中使用它。

所有 JavaScript 資料型別都有valueOf()和toString()方法。

把變數轉換為數值

這三種 JavaScript 方法可用於將變數轉換為數字:

  • Number() 方法
  • parseInt() 方法
  • parseFloat() 方法

這些方法並非數字方法,而是全域性JavaScript 方法。

全域性方法

JavaScript 全域性方法可用於所有 JavaScript 資料型別。

這些是在處理數字時最相關的方法:

方法描述
Number() 返回數字,由其引數轉換而來。
parseFloat() 解析其引數並返回浮點數。
parseInt() 解析其引數並返回整數。

Number() 方法

Number()可用於把 JavaScript 變數轉換為數值:

例項

x = true;
Number(x);        // 返回 1
x = false;     
Number(x);        // 返回 0
x = new Date();
Number(x);        // 返回 1404568027739
x = "10"
Number(x);        // 返回 10
x = "10 20"
Number(x);        // 返回 NaN

親自試一試

如果無法轉換數字,則返回NaN。

用於日期的 Number() 方法

Number()還可以把日期轉換為數字:

例項

Number(new Date("2019-04-15"));    // 返回 1506729600000

親自試一試

上面的Number()方法返回 1970 年 1 月 1 日至今的毫秒數。

parseInt() 方法

parseInt()解析一段字串並返回數值。允許空格。只返回首個數字:

例項

parseInt("10");         // 返回 10
parseInt("10.33");      // 返回 10
parseInt("10 20 30");   // 返回 10
parseInt("10 years");   // 返回 10
parseInt("years 10");   // 返回 NaN

親自試一試

如果無法轉換為數值,則返回NaN(Not a Number)。

parseFloat() 方法

parseFloat()解析一段字串並返回數值。允許空格。只返回首個數字:

例項

parseFloat("10");        // 返回 10
parseFloat("10.33");     // 返回 10.33
parseFloat("10 20 30");  // 返回 10
parseFloat("10 years");  // 返回 10
parseFloat("years 10");  // 返回 NaN

親自試一試

如果無法轉換為數值,則返回NaN(Not a Number)。

數值屬性

屬性描述
MAX_VALUE 返回 JavaScript 中可能的最大數。
MIN_VALUE 返回 JavaScript 中可能的最小數。
NEGATIVE_INFINITY 表示負的無窮大(溢位返回)。
NaN 表示非數字值("Not-a-Number")。
POSITIVE_INFINITY 表示無窮大(溢位返回)。

JavaScript MIN_VALUE 和 MAX_VALUE

MAX_VALUE返回 JavaScript 中可能的最大數字。

例項

var x = Number.MAX_VALUE;

親自試一試

MIN_VALUE返回 JavaScript 中可能的最小數字。

例項

var x = Number.MIN_VALUE;

親自試一試

JavaScript POSITIVE_INFINITY

例項

var x = Number.POSITIVE_INFINITY;

親自試一試

溢位時返回POSITIVE_INFINITY:

例項

var x = 1 / 0;

親自試一試

JavaScript NEGATIVE_INFINITY

例項

var x = Number.NEGATIVE_INFINITY;

親自試一試

溢位時返回NEGATIVE_INFINITY:

例項

var x = -1 / 0;

親自試一試

JavaScript NaN - 非數字

例項

var x = Number.NaN;

親自試一試

NaN屬於 JavaScript 保留字,指示數字並非合法的數字。

嘗試使用非數字字串進行算術運算將導致 NaN(非數字):

例項

var x = 100 / "Apple";  // x 將是 NaN (Not a Number)

親自試一試

數字屬性不可用於變數

數字屬性屬於名為 number 的 JavaScript 數字物件包裝器。

這些屬性只能作為Number.MAX_VALUE訪問。

使用myNumber.MAX_VALUE,其中myNumber是變數、表示式或值,將返回undefined:

例項

var x = 6;
var y = x.MAX_VALUE;    // y 成為 undefined

親自試一試

完整的 JavaScript Number 參考手冊

如需完整的參考手冊,請訪問我們完整的JavaScript Number 參考手冊

參考手冊包含所有 Number 物件屬性和方法的描述和例項。