web前端|js教程
js,转整数
web前端-js教程
青蛙过河源码,vscode关闭打开的文件,ubuntu 查 usb,tomcat里面没有项目,兼职 爬虫代理,php now 函数,黑龙江seo优化高手,采集网站系统源码,苹果cms仿优酷v10模板lzw
本文将会列举并说明JavaScript 把一个number(或者numerical的对象)转换成一个整数相关方法。
加壳工具源码,vscode怎么进行调试,ubuntu上装git,tomcat7wdk,lua脚本爬虫,php怎么多线程,泰州seo排名怎么样,免费门户网站源码,网页模板小偷注册机lzw
使用parseInt
视频源码是什么,怎么强制关闭ubuntu,网络公司爬虫,field php,重庆seo承包lzw
parseInt的语法如下:parseInt(string, radix)
参数string的表示要解析的字符串,也可以是一个对象,会自动调用对象的toString函数得到要解析的字符串。
parseInt的第二个参数,可以指定要解析的数字的基数,注意该值介于 2 ~ 36 之间,如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。比如下面的代码,结果为8,这样可以很方便的把其他的进制的数字转换为10进制的数字:
parseInt(10,8) // 结果为8
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
举例,如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
使用Math.trunc
Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。比如以下代码:
Math.trunc(13.37) // 13Math.trunc(42.84) // 42Math.trunc(0.123) // 0Math.trunc(-0.123) // -0Math.trunc("-1.123") // -1Math.trunc(NaN)// NaNMath.trunc("foo") // NaNMath.trunc() // NaN
当传入的类型不是数字的时候,会自动做瘾式转换。但是如果是一个非numerical的参数的时候,返回NaN。
IE浏览器并不支持这个方法,所以可以考虑polyfill:
Math.trunc || (Math.trunc = function(v){ return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法})// 或者if (!Math.trunc) { Math.trunc = function(v) { v = +v; if (!isFinite(v)) return v;return (v - v % 1) || (v 0 // -0 -> -0 // 0.2-> 0 // -0.2-> -0 // 0.7-> 0 // -0.7-> -0 // Infinity -> Infinity // -Infinity -> -Infinity // NaN-> NaN // null-> 0 };}
二进制位运算
对于numerical的对象n,可以通过如下的方式来转换为整数:
~~n 双重位取反(Double bitwise NOT)
n | n 位或运算(Bitwise OR)
n | 0 和0的位或运算(Bitwise OR with 0)
n << 0 位左移运算0位(Bitwise left shift)
n >> 0 位右移运算0位(Bitwise right shift)
n & n 为与运算(Bitwise AND)
比如代码如下:
~~1.23 // 1 -1.2 | -1.2 // - 1 -1.2 | 0 // - 1 3.4 >> 0 // 3 3.2 << 0 // 3 5.5 & 5.5 // 5 ~~"1.2" // 1.2
【推荐学习:javascript高级教学】