一些JS数字处理技巧

有些技巧不建议在项目中使用,但可以作为了解,方便我们阅读别人的代码, 文章参考他人博客(具体出处不详), 自己做了总结和修改

1.变量转换

var myVar      = "3.14159";
var myOtherVar = "3.14159haha"

str    = ""+ myVar;   //  转成字符串

int    = ~~myVar;     //  转为数字类型,下取整 3
int    = ~~myOtherVar //  结果为0

float  = +myVar;      //  转为数字类型,结果为原数据
int    = +myOtherVar; //  NaN
float  = 1*myVar;     //  效果类似+

bool    = !!myVar;    /* 大于0长度的字符串和除0外的其他数字转为true, 其他
                      转为false*/

array  = [myVar];    //  转为数组

转换日期new Date(myVar)正则表达式new RegExp(myVar)必须使用构造函数,而且创建正则表达式的时候要使用/pattern/flags的形式

2.十进制转换为十六进制或者八进制,或者反过来

(int).toString(16); // 10进制转16进制, eg 12 => "C"

(int).toString(8);  // 10进制转8进制, eg. 12 => "14"

parseInt(string,16) // 16进制转10进制, eg. "FF" => 255

parseInt(string,8) //  8进制转10进制, eg. "20" => 16

3.玩转数字

0xFF; // 16进制以 '0x' 开头, returns 255

020; //  8进制以 '0' 开头, returns 16

1e3; // 效果等同于 Math.pow(10,3), returns 1000

(1000).toExponential(); // 与上一个相反, returns 1e3

(3.1415).toFixed(3); // 四舍五入保留位数, 结果字符串, returns "3.142"

/****************Math方法操作数字*********************/

Math.floor(3.1415);  // 3 下取整

Math.ceil(3.1415);   // 4 上取整

Math.round(3.14);    // 3 四舍五入取整

Math.round(3.54);    // 4

猜你喜欢

转载自blog.csdn.net/coding_1/article/details/79144001