Web前端之路程序员Web 前端开发

JS字符串和数字互相转换的n种方法

2017-08-15  本文已影响1079人  公子七

字符串转数字

方法主要有三种:
转换函数、强制类型转换、利用JS变量弱类型转换。

1. 转换函数parseInt() & parseFloat()

这二者都是JS全局函数。

1.1. parseInt()

1)parseInt()函数可解析一个字符串,并返回一个整数
2)语法:parseInt(string, radix)

1.2 parseFloat()
1.3 Tips

2. 强制类型转换

JS有三种转型函数。

2.1 Boolean()转换规则
数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""(空串)
Number 任何非零数值(包括无穷大) 0和NaN
Object 任何对象 null
Udefined n/a undefined
2.2 String()转换规则
2.3 Number()转换规则

3. JS变量弱类型转换

本质是算术运算

3.1 一元'+'操作符
3.2 乘性操作符
3.3 加性操作符

3.3.1 加法

3.3.2 减法

3.4 例子
var str = '012.345 ';
var x = str - 0;
var y = str * 1;
console.log(x, typeof x); // 12.345 number
console.log(y, typeof y); // 12.345 number

数字转字符串

1. String()强制转换

2. '+'字符串拼接

var num = 3; console.log(num + '');

3. Number类型内置方法

3.1 toString()

toString()方法可以传递一个表示基数的参数,表示返回几进制数值的字符串形式。

var num = 10;
console.log(num.toString());   // '10'
console.log(num.toString(2));  // '1010'
console.log(num.toString(8));  // '12'
console.log(num.toString(10)); // '10'
console.log(num.toString(16)); // 'a'
3.2 toFixed()

toFixed()按照指定的小数位返回数值的字符串表示。如果数值本身包含的小数位比指定的还多,那么接近制定的最大小数位的值就会舍入

var num1 = 10, num2 = 10.005;
console.log(num1.toFixed(2), num2.toFixed(2)); // '10.00'  '10.01'
3.3 toExponential()

toExponential()方法返回以指数表示法表示的数值的字符串形式。也可以接受一个参数,用以指定输出结果中的小数位数。

var num = 10;
console.log(num.toExponential(1)) // '1.0e + 1'
3.4 toPrecision()

toPrecision()方法返回固定大小格式,也可能会返回指数格式。该方法也可以接受一个参数,用以表示数值的所有数字位数(不包括指数部分)。

var num = 99;
// 为了将99用一位数表示出来,四舍五入成了100
console.log(num.toPrecision(1)); // '1e + 2' 
console.log(num.toPrecision(2)); // '99'
console.log(num.toPrecision(1)); // '99.0'

由上面的代码可以看出,toPrecision()方法会根据要处理的数值决定到底是调用toFixed()还是toExponential()。而这三个方法都可以通过向上或者向下舍入,做到以最准确的形式来表示带有正确小数位的值。


END~

上一篇 下一篇

猜你喜欢

热点阅读