JavaScript数字与字符串转换
数字转字符串的方式:
1->数字调用toString方法转换为字符串.--num.toString().
2->数字作为形参调用String函数.--String(num).
3->利用Javascript类型转换的默认属性,数字加上空字符串""或''.
var num = 1234;
var str = num.toString();
var str = String(num);
var str = num + "";
var str = num + '';
字符串转数字的方式:
1->字符串作为形参调用Number函数.--Number(string).
注:
- 该函数运行规则,从字符串开头逐个字符判断,当遇到小数点或者非数字时停止.直接返回NaN.该函数只能转换纯数字的字符串.
- JavaScript定义了全局变量NaN和Infinity.ECMAScript5修正了这个错误,将它们定义为只读的。
- NaN(Not a Number)是一个特殊的Number类型的数字,表示不是一个数.JavaScript中的非数字值都有一点特殊:它和任何值都不相等,包括自身。如判断变量x是否是NaN应当使用x!=x来判断,当且仅当x为NaN的时候,表达式的结果才为true。
- Infinity是一个特殊的Number类型的数字 表示无穷大的数.
2->字符串作为形参调用parseInt函数.--parseInt(string).
注:
该函数运行规则,首先判断字符串开头是否为数字,非数字时会直接返回NaN,不再继续运行.否则从字符串开头逐个字符判断,当遇到小数点或者非数字时停止,返回前面读取的数字.
3->字符串作为形参调用parseFloat()函数.--parseFloat(string).
注:
- 该函数运行规则,首先判断字符串开头是否为数字,非数字时会直接返回NaN,不再继续运行.否则从字符串开头逐个字符判断,当遇到第二个小数点或者非数字时才会停止,返回前面读取的数字.
- 该函数为parsrInt的强化版.遇到第一个小数点时继续往后读取.
var str = "123456";
var num = Number(str); -->123456
var num = parseInt(str); -->123456
var num = parseFloat(str); -->123456
var str = "123aaa";
var num = Number(str); -->NaN
var num = parseInt(str); -->123
var num = parseFloat(str); -->123
var str = "123.45678.9aaa";
var num = Number(str); -->NaN
var num = parseInt(str); -->123
var num = parseFloat(str); -->123.45678
var str = "a123";
var num = Number(str); -->NaN
var num = parseInt(str); -->NaN
var num = parseFloat(str); -->NaN