Javascript數值轉換(string,int,json)


數值:

在JavaScript中,數值轉換一般有三種方式:

一、Number(param)函數:param可以用於任何數據類型

1.1 param是Boolean值,true和false分別轉換為1和0;

1.2 param是數值,只是簡單的傳入和返回

1.3 param是null和undefined,分別返回0和NaN

1.4 param是字符串,遵循下列規則:

1.4.1 如果字符串中只包含數字,則轉換為十進制,前導0被忽略;

1.4.2 如果字符串中包含有效的浮點數格式,則返回對應的浮點數值,前導0被忽略;

1.4.3 如果字符串包含有效的十六進制,則返回等大的十進制數值

1.4.4 如果字符串為空,則返回0

1.4.5 如果字符串中包含除上述格式外的字符,則返回NaN

1.5 param是對象,則調用valueOf()方法,依照前面的規則轉換返回字符串值,若返回NaN,則調用toString()方法,再次依照前面的規則轉換返回字符串值。

1.6 示例:

var num1 = Number("hello"); //NaN 
var num2 = Number(""); //0
var num3 = Number("00022"); //22
var num4 = Number(true); //1

二、parseInt(param):把字符串轉換成整數,param是字符串類型。

parseInt()忽略字符串前面的空格,直到找到第一個非空格字符S;若S不是數字或者負號,則返回NaN(即parseInt()對空字符返回NaN,注意Number()對空返回0),若S是數字,parseInt()會繼續解析下一個字符,直到解析完所有字符或者遇到了一個非數字字符。parseInt()支持對八進制、十六進制的解析

var num1 = parseInt("1234blue"); //1234 
var num2 = parseInt(""); //NaN
var num3 = parseInt("22.5"); //22
var num4 = parseInt("070"); //八進制,轉換為十進制的56

三、parseIFloat(param):把字符串轉換成浮點數,param是字符串類型。

與parseInt類似,parseFloat()從第一個字符開始解析,直到解析完所有字符或者遇到了一個非浮點數字符。第一個小數點有效,但是第二個則無效,且該函數只能解析十進制數,因為它始終會忽略前導0.

var num1 = parseFloat("1234blue"); // 1234 
var num2 = parseFloat("0xf6"); // 0
var num3 = parseFloat("22.5"); // 22.5
var num4 = parseFloat("22.5.4"); //22.5
var num5 = parseFloat("3.125e7"); // 31250000

原文:http://www.jb51.net/article/43136.htm

JSON:

例如:

JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON對象:
var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串轉換為JSON對象

要使用上面的str1,必須使用下面的方法先轉化為JSON對象:

//由JSON字符串轉換為JSON對象
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON(); //由JSON字符串轉換為JSON對象
或者
var obj = JSON.parse(str); //由JSON字符串轉換為JSON對象
然后,就可以這樣讀取:
Alert(obj.name);
Alert(obj.sex);

特別注意:如果obj本來就是一個JSON對象,那么使用eval()函數轉換后(哪怕是多次轉換)還是JSON對象,但是使用parseJSON()函數處理后會有問題(拋出語法異常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉化為JSON字符串。

例如:
var last=obj.toJSONString(); //將JSON對象轉化為JSON字符
或者
var last=JSON.stringify(obj); //將JSON對象轉化為JSON字符
alert(last);

注意:

上面的幾個方法中,除了eval()函數是js自帶的之外,其他的幾個方法都來自json.js包。新版本的 JSON 修改了 API,將 JSON.stringify() 和 JSON.parse() 兩個方法都注入到了 Javascript 的內建對象里面,前者變成了 Object.toJSONString(),而后者變成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則說明您的json包版本太低。

原文:http://www.jb51.net/article/43136.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM