與數值相關的全域性方法

2021-09-02 05:41:55 字數 3167 閱讀 1732

parseint方法用於將字串轉為整數。

parseint('123') // 123
如果字串頭部有空格,空格會被自動去除。

parseint('   81') // 81
如果parseint的引數不是字串,則會先轉為字串再轉換。

parseint(1.23) // 1

// 等同於

parseint('1.23') // 1

字串轉為整數的時候,是乙個個字元依次轉換,如果遇到不能轉為數字的字元,就不再進行下去,返回已經轉好的部分。 

parseint('8a') // 8

parseint('12**') // 12

parseint('12.34') // 12

parseint('15e2') // 15

parseint('15px') // 15

上面**中,parseint的引數都是字串,結果只返回字串頭部可以轉為數字的部分。

如果字串的第乙個字元不能轉化為數字(第乙個數字是正負號的除外),返回nan

parseint('abc') // nan

parseint('.3') // nan

parseint('') // nan

parseint('+') // nan

parseint('+1') // 1

所以,parseint的返回值只有兩種可能,要麼是乙個十進位制整數,要麼是nan

如果字串以0x0x開頭,parseint會將其按照十六進製制數解析。

parseint('0x10') // 16
如果字串以0開頭,將其按照10進製解析。

parseint('011') // 11
parseint(1000000000000000000000.5) // 1

// 等同於

parseint('1e+21') // 1

parseint(0.0000008) // 8

// 等同於

parseint('8e-7') // 8

2)進製轉換

parseint方法還可以接受第二個引數(2到36之間),表示被解析的值的進製,返回該值對應的十進位制數。

預設情況下,parseint的第二個引數為10,

parseint('1000') // 1000

// 等同於

parseint('1000', 10) // 1000

是十進位制轉十進位制。

下面是轉換指定進製的數的例子。

parseint('1000', 2) // 8

parseint('1000', 6) // 216

parseint('1000', 8) // 512

如果第二個引數不是數值,會被自動轉為乙個整數。這個整數只有在2到36之間,才能得到有意義的結果,超出這個範圍,則返回nan。如果第二個引數是0undefinednull,則直接忽略。

parseint('10', 37) // nan

parseint('10', 1) // nan

parseint('10', 0) // 10

parseint('10', null) // 10

parseint('10', undefined) // 10

如果字串包含對於指定進製無意義的字元,則從最高位開始,只返回可以轉換的數值。如果最高位無法轉換,則直接返回nan

parseint('1546', 2) // 1

parseint('546', 2) // nan

parsefloat()

parsefloat方法用於將乙個字串轉為浮點數。

parsefloat('3.14') // 3.14
如果字串符合科學計數法,則會進行相應的轉換。

parsefloat('314e-2') // 3.14

parsefloat('0.0314e+2') // 3.14

如果字串包含不能轉為浮點數的字元,則不再進行往後轉換,返回已經轉好的部分。 

parsefloat('3.14more non-digit characters') // 3.14
parsefloat方法會自動過濾字串前導的空格

parsefloat('\t\v\r12.34\n ') // 12.34
如果引數不是字串,或者字串的第乙個字元不能轉化為浮點數,則返回nan

上面**中,尤其值得注意,parsefloat會將空字串轉為nan

這些特點使得parsefloat的轉換結果不同於number函式。

parsefloat(true)  // nan

number(true) // 1

parsefloat(null) // nan

number(null) // 0

parsefloat('') // nan

number('') // 0

parsefloat('123.45#') // 123.45

number('123.45#') // nan

static與全域性變數相關總結

1.區域性變數 在函式內定義的變數,作用域僅限於函式內。2.全域性變數 定義在函式之外的變數,它的作用域從定義處開始,到所在檔案的結束。作用域是所在的整個檔案。3.外部變數 乙個檔案中的全域性變數可以在另乙個檔案中作為外部變數使用,某個檔案中引用另乙個檔案中的全域性變數。用extern宣告,說明這個...

vue全域性方法的配置與使用

vue專案中有一些方法需要在多個頁面呼叫,但為了避免在每個頁面都import進來,可以把方法加到原型上去,這樣在每個元件中都能使用了 寫乙個text.js檔案,裡面定義一些方法,並匯出 function text data export default 在main.js裡面import進來text....

C 全域性常量與變數的定義方法

1 全域性變數 extern 當兩個類都需要使用共同的變數,我們將這些變數定義為全域性變數。比如,res.h和res.cpp分別來宣告和定義全域性變數,類producerthread和consumerthread來使用全域性變數。res.h宣告全域性變數 pragma once include co...