JavaScript 數字方法
JavaScript 數字方法
這些數字方法可用于所有 JavaScript 數字:
方法 | 描述 |
---|---|
toString() | 將數字作為字符串返回。 |
toExponential() | 返回以指數表示法書寫的數字。 |
toFixed() | 返回帶小數位數的數字。 |
toPrecision() | 返回指定長度的數字。 |
ValueOf() | 以數字形式返回數字。 |
toString() 方法
toString() 方法將數字作為字符串返回。
所有數字方法都可以用于任何類型的數字(文字、變量或表達式):
實例
let x = 123; x.toString(); (123).toString(); (100 + 23).toString();
toExponential() 方法
toExponential() 返回字符串,其中的數字四舍五入并使用指數表示法書寫。
參數定義小數點后的字符數:
實例
let x = 9.656; x.toExponential(2); x.toExponential(4); x.toExponential(6);
該參數是可選的。如果您不指定它,JavaScript 將不會對數字進行四舍五入。
toFixed() 方法
toFixed() 返回一個字符串,其中的數字帶有指定位數的小數部分。
實例
let x = 9.656; x.toFixed(0); x.toFixed(2); x.toFixed(4); x.toFixed(6);
提示:toFixed(2)
非常適合處理貨幣。
toPrecision() 方法
toPrecision() 返回一個字符串,其中包含指定長度的數字:
實例
let x = 9.656; x.toPrecision(); x.toPrecision(2); x.toPrecision(4); x.toPrecision(6);
valueOf() 方法
valueOf() 以數字形式返回數字。
實例
let x = 123; x.valueOf(); (123).valueOf(); (100 + 23).valueOf();
在 JavaScript 中,數字可以是原始值 (typeof = number) 或對象 (typeof = object)。
valueOf() 方法在 JavaScript 內部用于將 Number 對象轉換為原始值。
沒有理由在您的代碼中使用它。
提示:所有 JavaScript 數據類型都有 valueOf() 和 toString() 方法。
將變量轉換為數字
有 3 種 JavaScript 方法可用于將變量轉換為數字:
方法 | 描述 |
---|---|
Number() | 返回從其參數轉換而來的數字。 |
parseFloat() | 解析其參數并返回浮點數。 |
parseInt() | 解析其參數并返回整數。 |
上面的方法不是數字方法。它們是全局 JavaScript 方法。
Number() 方法
Number() 方法可用于將 JavaScript 變量轉換為數字:
實例
Number(true); Number(false); Number("10"); Number(" 10"); Number("10 "); Number(" 10 "); Number("10.33"); Number("10,33"); Number("10 33"); Number("Bill");
提示:如果無法轉換數字,則返回 NaN
(Not a Number,非數字)。
日期上使用的 Number() 方法
Number() 也可以將日期轉換為數字。
實例
Number(new Date("1970-01-01"))
注釋:Date() 方法返回自 1970 年 1 月 1 日以來的毫秒數。
1970-01-02 和 1970-01-01 之間的毫秒數為 86400000:
實例
Number(new Date("1970-01-02"))
實例
Number(new Date("2017-09-30"))
parseInt() 方法
parseInt() 解析字符串并返回整數。允許有空格。僅返回第一個數字:
實例
parseInt("-10"); parseInt("-10.33"); parseInt("10"); parseInt("10.33"); parseInt("10 20 30"); parseInt("10 years"); parseInt("years 10");
如果無法轉換數字,則返回 NaN (Not a Number,非數字)。
parseFloat() 方法
parseFloat() 解析字符串并返回數字。允許有空格。僅返回第一個數字:
實例
parseFloat("10"); parseFloat("10.33"); parseFloat("10 20 30"); parseFloat("10 years"); parseFloat("years 10");
如果無法轉換數字,則返回 NaN
(Not a Number,非數字)。
Number 對象方法
這些對象方法屬于 Number 對象:
方法 | 描述 |
---|---|
Number.isInteger() | 如果參數是整數則返回 true。 |
Number.isSafeInteger() | 如果參數是安全整數,則返回 true。 |
Number.parseFloat() | 將字符串轉換為數字。 |
Number.parseInt() | 將字符串轉換為整數。 |
數字方法不能用于變量
上面的數字方法屬于 JavaScript Number 對象。
這些方法只能像 Number.isInteger() 一樣訪問。
使用 X.isInteger() 其中 X 是一個變量,將導致錯誤:
TypeError X.isInteger is not a function.
Number.isInteger() 方法
如果參數是整數,則 Number.isInteger() 方法返回 true
。
實例
Number.isInteger(10); Number.isInteger(10.5);
Number.isSafeInteger() 方法
安全整數指的是可以被精確表示為雙精度浮點數的整數。
如果參數是安全整數,則 Number.isSafeInteger() 方法返回 true
。
實例
Number.isSafeInteger(10); Number.isSafeInteger(12345678901234567890);
注意
安全整數是從 -(253 - 1) 到 +(253 - 1) 的所有整數。
這是安全的:9007199254740991。這是不安全的:9007199254740992。
Number.parseFloat() 方法
Number.parseFloat() 解析字符串并返回數字。
允許有空格。僅返回第一個數字:
實例
Number.parseFloat("10"); Number.parseFloat("10.33"); Number.parseFloat("10 20 30"); Number.parseFloat("10 years"); Number.parseFloat("years 10");
如果無法轉換數字,則返回 NaN (Not a Number,非數字)。
注意
Number.parseInt() 和 Number.parseFloat() 這兩個方法與全局方法 parseInt() 和 parseFloat() 是相同的。
其目的在于全局方法的模塊化(以便更容易在瀏覽器外部使用相同的 JavaScript 代碼)。
Number.parseInt() 方法
Number.parseInt() 解析字符串并返回整數。
允許有空格。僅返回第一個數字:
實例
Number.parseInt("-10"); Number.parseInt("-10.33"); Number.parseInt("10"); Number.parseInt("10.33"); Number.parseInt("10 20 30"); Number.parseInt("10 years"); Number.parseInt("years 10");
如果無法轉換數字,則返回 NaN (Not a Number,非數字)。
完整的 JavaScript Number 參考手冊
如需完整的參考手冊,請訪問我們完整的 JavaScript Number 參考手冊。
參考手冊包含所有 Number 對象屬性和方法的描述和實例。