JavaScript进制转换
来源:互联网 发布:gns3 路由器端口ip 编辑:程序博客网 时间:2024/05/30 05:15
最近研究JavaScript公历转农历的算法,在博客上看到有人用parseInt进行基数转换,源码如下。
博客原文 http://www.cnblogs.com/bluedream2009/archive/2010/06/02/1750359.html
var _tm = "0|gd4|wrn|1d98|1tuh|2akm|2rfn|38g9|3plp|46vz|4o9k|55px|5n73|64o5|6m37|73fd|7kna|81qe|8io7|8zgq|9g4b|9wnk|ad3g|ath2".split('|');for (var i = _tm.length; i--;){_tm[i] = parseInt(_tm[i], 36);}
其它进制转十进制
JavaScript中,通过parseInt可以很方便的把其它进制转换成十进制。JavaScript支持2~36的进制转换。在36进制中包含的数值为0~9和a~z,其中a~z表示的范围是10~35,其它进制依此类推。下面看看parseInt的定义和用法。 摘自http://www.w3school.com.cn/js/jsref_parseInt.asp// parseInt(value, radix)解析一个字符串,并返回一个10进制整数。// @param {string} value 必需,要被解析的字符串。// @param {int} radix 可选,表示要解析的数字的基数,该值介于2~36之间。// 如果省略该参数或其值为0,则数字将以10为基础来解析。// 如果该参数小于2或者大于36,则parseInt()将返回NaN。// 如果value以0x或0X开头,将以16为基数。// @return {int} 返回10进制整数。如果参数value不可解析,则返回NaN。parseInt('10'); //返回 10 基数是10(十进制)parseInt('19', 10); //返回 19 基数是10(十进制)parseInt('11', 2); //返回 3 基数是2(二进制)parseInt('17', 8); //返回 15 基数是8(八进制)parseInt('1f', 16); //返回 31 基数是16(十六进制)parseInt('010'); //返回 8 把'010'看成8进制(在chrome和ie9中测试)parseInt('0x10'); //返回 16 把'0x10'看成16进制(在chrome和ie9中测试)parseInt('1d98', 36); //返回 63836 基数是36进制
十进制转其它进制
JavaScript中,十进制整数转换成其他进制可以通过toString()实现。 摘自 http://www.w3school.com.cn/js/jsref_tostring_number.asp// NumberObject.toString(radix)把一个Number对象转换为一个字符串。// @param {radix} 可选。规定表示数字的基数,使2~36之间的整数。若省略该参数,则使用基数10。// 如果该参数在2~36以外,则浏览器报错,在chrome和ie9下测试。// @return {string} 返回radix基数的字符串。var number = 50;number.toString(); //返回 50 基数是10(十进制)number.toString(2); //返回 110010 基数是2(二进制)number.toString(8); //返回 62 基数是8(八进制)number.toString(16); //返回 32 基数是16(16进制)number.toString(36); //返回 le 基数是32(32进制)number.toString(40); //浏览器报错,在chrome和ie9中测试
对上面的代码进行进制转换,转换结果如下图所示。
var _tm = "0|gd4|wrn|1d98|1tuh|2akm|2rfn|38g9|3plp|46vz|4o9k|55px|5n73|64o5|6m37|73fd|7kna|81qe|8io7|8zgq|9g4b|9wnk|ad3g|ath2".split('|');//转换成10进制for (var i = _tm.length; i--;){_tm[i] = parseInt(_tm[i], 36);}console.log('十进制数组');console.dir(_tm); //在浏览器控制台中查看结果。//转换成36进制for (var i = _tm.length; i--;){_tm[i] = _tm[i].toString(36);}console.log('36进制数组');console.dir(_tm); //在浏览器控制台中查看结果。
- Javascript进制转换
- JavaScript进制转换
- Javascript 进制转换
- JavaScript进制转换
- javascript & php 进制转换
- javascript 各种数字进制的转换
- JavaScript:整数的进制转换
- JavaScript进制之间的转换
- 使用JavaScript进行进制转换
- javascript小练习之进制转换
- Javascript进制之间的转换。
- javascript 32位以内进制转换
- 进制转换(二)(Javascript版)
- javascript中非常方便的进制转换
- 利用javascript进行进制转换的方法
- JavaScript把16进制数组转换为字符串数组
- JavaScript 关于进制之间的转换实现
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- 旅程的开始
- C#语言中switch模块case default
- linux下禁用笔记本自带键盘和touchpad
- DataTable、DataRow 手动赋值
- new/malloc的内存不释放
- JavaScript进制转换
- 计算机方面最好的论文
- oracle 11g 学习笔记 10_30(2)_数据字典和动态性能视图
- Verilog 语法总结(二)
- sgu 120 Archipelago
- 关于Log4j
- java 简单线程实例
- 架构师之路,共20篇
- 11 java 王少飞-cookie小节二