js轉換為數字

2021-08-08 04:27:09 字數 2968 閱讀 1059

方法主要有三種

轉換函式、強制型別轉換、利用js變數弱型別轉換。

1. 轉換函式:

js提供了parseint()和parsefloat()兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行;對其他型別返回的都是nan(not a number)。

一些示例如下:

複製**

**如下:

parseint("1234blue");   //returns   1234

parseint("0xa");   //returns   10

parseint("22.5");   //returns   22

parseint("blue");   //returns   nan

parseint()方法還有基模式,可以把二進位制、八進位制、十六進製制或其他任何進製的字串轉換成整數。基是由parseint()方法的第二個引數指定的,示例如下:

複製**

**如下:

parseint("af",   16);   //returns   175

parseint("10",   2);   //returns   2

parseint("10",   8);   //returns   8

parseint("10",   10);   //returns   10

如果十進位制數包含前導0,那麼最好採用基數10,這樣才不會意外地得到八進位制的值。例如:

複製**

**如下:

parseint("010");   //returns   8

parseint("010",   8);   //returns   8

parseint("010",   10);   //returns   10

parsefloat()方法與parseint()方法的處理方式相似。

使用parsefloat()方法的另一不同之處在於,字串必須以十進位制形式表示浮點數,parsefloat()沒有基模式。

下面是使用parsefloat()方法的示例:

複製**

**如下:

parsefloat("1234blue");   //returns   1234.0

parsefloat("0xa");   //returns   nan

parsefloat("22.5");   //returns   22.5

parsefloat("22.34.5");   //returns   22.34

parsefloat("0908");   //returns   908

parsefloat("blue");   //returns   nan

2. 強制型別轉換

還可使用強制型別轉換(type casting)處理轉換值的型別。使用強制型別轉換可以訪問特定的值,即使它是另一種型別的。

ecmascript中可用的3種強制型別轉換如下:

boolean(value)——把給定的值轉換成boolean型;

number(value)——把給定的值轉換成數字(可以是整數或浮點數);

string(value)——把給定的值轉換成字串。

用這三個函式之一轉換值,將建立乙個新值,存放由原始值直接轉換成的值。這會造成意想不到的後果。

當要轉換的值是至少有乙個字元的字串、非0數字或物件(下一節將討論這一點)時,boolean()函式將返回true。如果該值是空字串、數字0、undefined或null,它將返回false。

可以用下面的**段測試boolean型的強制型別轉換。

複製**

**如下:

boolean("");   //false   –   empty   string

boolean("hi");   //true   –   non-empty   string

boolean(100);   //true   –   non-zero   number

boolean(null);   //false   -   null

boolean(0);   //false   -   zero

boolean(new   object());   //true   –   object

number()的強制型別轉換與parseint()和parsefloat()方法的處理方式相似,只是它轉換的是整個值,而不是部分值。示例如下:

複製**

**如下:

用  法                   結  果

number(false)                  0

number(true)                   1

number(undefined)              nan

number(null)                   0

number( "5.5 ")                5.5

number( "56 ")                 56

number( "5.6.7 ")              nan

number(new   object())         nan

number(100)                    100

最後一種強制型別轉換方法string()是最簡單的,示例如下:

複製**

**如下:

var   s1   =   string(null);   //"null"

var   onull   =   null;

var   s2   =   onull.tostring();   //won't   work,   causes   an   error

3. 利用js變數弱型別轉換

舉個小例子,一看,就會明白了。

複製**

**如下:

上例利用了js的弱型別的特點,只進行了算術運算,實現了字串到數字的型別轉換,不過這個方法還是不推薦的

js 字串轉換為數字

方法主要有三種 轉換函式 強制型別轉換 利用js變數弱型別轉換。1.轉換函式 js提供了parseint 和parsefloat 兩個轉換函式。前者把值轉換成整數,後者把值轉換成浮點數。只有對string型別呼叫這些方法,這兩個函式才能正確執行 對其他型別返回的都是nan not a number ...

Js 將數字轉換為大寫金額

export const changetochinese num num num.replace g,替換tomoney 中的 num num.replace g,替換tomoney 中的空格 num num.replace g,替換掉可能出現的 字元if isnan num 字元處理完畢後開始轉換...

數字轉換為漢字

其實數字轉換成漢字的方式有多種多樣的,在我的同事中就有寫出更加簡單方便的 但是由於他的方法不易讀懂 水平不夠啊 因此在這裡我只說說我是如何實現這個功能 也是通過別人的指點之後思索出來的 思想簡要 1.數字對應的轉換成漢字,這其中不考慮任何情況只是簡單的轉換 如1000 轉換為 一千零百零十零 2.然...