JavaScript数字和字符串转换示例

2014-03-26 26

1. 数字转换为字符串

a. 要把一个数字转换为字符串,只要给它添加一个空的字符串即可:

var n = 100; 
var n_as_string = n + "";

b. 要让数字更加显式地转换为字符串,可以使用String()函数:
var string_value = String(number);

c. 使用toString()方法:
string_value = number.toString();

Number对象的(基本的数字转换为Number对象,以便可以调用这个方法)toString()方法有一个可选的参数,该参数用来指定转换的基数。如果不指定这个参数,转换会以10为基数进行。然而,也可以按照其他的基数(2到36之间的数)来转换数字。
例如:
var n = 17; 
binary_string = n.toString(2); // Evaluates to "10001" 
octal_string = "0" + n.toString(8); // Evaluates to "021" 
hex_string = "0x" + n.toString(16); // Evaluates to "0x11"

d. toFixed()方法把一个数字转换为字符串,并且显示小数点后的指定的位数。它不使用指数表示法。
var n = 123456.789; 
n.toFixed(0); // "123457" 
n.toFixed(1); // "123456.79"

e. toExponential()使用指数表示法把一个数字转换为字符串,小数点前面有1位数,而小数点后面有特定的位数。
var n = 123456.789; 
n.toExponential(1); // "1.2e+5" 
n.toExponential(3); // "1.235e+5"

f. toPrecision()使用指定的有意义的位数来显示一个数字,如果有意义的位数还不够显示数字的整个整数部分,它就使用指数表示法。
var n = 123456.789; 
n.toPrecision(4); // "1.235e+5" 
n.toPrecision(7); // "123456.8"

2. 字符串转换为数字

a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用:

var number = Number(string_value);

b. parseInt()只截取整数,如果一个字符串以"0x"或"0X"开头,parseInt()将其解析成为一个十六进制的数字,parseInt()甚至可以接受一个参数来指定要解析的数字的基数,合法的值在2到36之间。
parseInt("3 blind mice"); // Returns 3 
parseInt("12.34"); // Returns 12 
parseInt("0xFF"); // Returns 255 
parseInt("11", 2); // Returns 3 (1 * 2 + 1) 
parseInt("ff", 16); // Returns 255 (15 * 16 + 15) 
parseInt("zz", 36); // Returns 1295 (35 * 36 + 35) 
parseInt("077", 8); // Returns 63 (7 * 8 + 7) 
parseInt("077", 10); // Returns 77 (7 * 10 + 7)

c. parseFloat()截取整数和浮点数。
parseFloat("3.14 meters"); // Returns 3.14

d. 如果parseInt()和parseFloat()不能够把指定的字符串转换为数字,它们就会返回NaN:
parseInt(''eleven"); // Returns Nan 
parseFloat("$72.47"); // Returns NaN

3 JavaScript取整的方法

a.丢弃小数部分,保留整数部分
parseInt(5/2)

b.向上取整,有小数就整数部分加1

Math.ceil(5/2)

c.向下取整

Math.floor(5/2)

d.四舍五入

Math.round(5/2)

展开阅读全文

更多Javascript文章

jquery多选项卡效果实例代码(附效果图)
Mar 23 27
JavaScript 七大技巧(二)
Dec 13 25
深入浅析search 搜索框的写法
Aug 02 16
基于angularjs实现图片放大镜效果
Aug 31 19
关于自定义Egg.js的请求级别日志详解
Dec 12 57
layui关闭层级、简单监听的实例
Sep 06 38
加速vue组件渲染之性能优化
Apr 09 31
手机访问当前页面