js中基本类型的转换,进制的转换

一、基本类型的转换

1.数字转字符串

//直接给数字加空的字符串。

var num=20;
var str=20+" ";
console.log(typeof str);//string

//使用String()函数,让数字更加显示的转为字符串

var num=20;
var str=String(num);
console.log(typeof str);//string

//使用toString()方法。toString()有一个参数,用来指定转换的基数。(十进制/二进制/八进制/十六进制)

var num=20;
var str=num.toString(10);
console.log(typeof str+","+str);//string,20

2.字符串转数字(转换函数、强制类型转换、js变量弱类型转换)

parseInt()和parseFloat()函数。

//parseInt(),两个参数,第一个要转换的字符串,第二个是指定转换的基数(可省略)
/*当第二个参数省略时
   str以“0x”开头,解析为十六进制的整数
   str以“0”开头,解析为八/十六进制的整数
   str以1~9开头,解析为十进制整数*/

var str="123hahaha";
var num=parseInt(str);
console.log(num+","+ typeof num);//123,number
console.log(parseInt("22.5"));//22
console.log(parseInt("0xA"));//10
console.log(parseInt("blue"));//NaN
//parseInt也可以用来把小数转为整数
console.log(parseInt(233.45));//233

//parseFloat没有基模式console.log(parseFloat("22.5hahaha"));//22.5

强制类型转换 Number(value)把值转为整数或浮点数

console.log(Number("123.99haha"));//NaN
console.log(Number("123.9"));//123.9

js弱类型转换

var str="123";
var n1=str-0;
var n2=str*1;
var n3=str+0;//相当于给数字加了一个字符串,所以还是字符串
console.log(n1+","+typeof n1);//123,number
console.log(n2+","+typeof n2);//123,number
console.log(n3+","+typeof n3);//1230,string

3.其他类型的转换

//Boolean(value);//把值转为布尔值
console.log(Boolean(0))//false;
//数组->字符串
//join(),数组的方法,把数组的元素都放在一个字符串里(元素通过括号中的字符进行分离)。
var arr=[2,3,4,5];
var str1=arr.join("");
var str2=arr.join("-");
console.log(str1+","+typeof str1);//2345,string
console.log(str2+","+typeof str2);//2-3-4-5,string
//字符串->数组
//concat()数组方法,连接数组,并返回结果。split()数组方法,以指定方式分割数组
var str="abcdef";
var a1=[].concat(str);
var a2=str.split("");//
console.log(a1+","+typeof a1);//abcdef,object
console.log(a2+","+typeof a2);//a,b,c,d,e,f,object

二、进制转换

1.十进制转为其他进制

使用toString

var num=20;
//为了不改变其类型需要加上parseInt
var a=parseInt(num.toString(2));//十进制->二进制(除以2取余数,倒着往上数)
var b=parseInt(num.toString(8));//十进制->八进制(除以8取余数,倒着往上数)
var c=parseInt(num.toString(16));//十进制->十六进制(除以16取余数,倒着往上数)
console.log(a+","+typeof a);//10100,number
console.log(b+","+typeof b);//24,number
console.log(c+","+typeof c);//14,number

2.其他进制转十进制

var d=parseInt(10100,2);//二进制->十进制
var e=parseInt(24,8);//八进制->十进制
var f=parseInt(14,16);//十六进制->十进制
console.log(d+","+e+","+f);//20,20,20

3.其他进制的转换

//八进制、十六进制->二进制
var a=parseInt(257,8).toString(2);
var b=parseInt("af",16).toString(2);
console.log(a+","+typeof a);//10101111,string
console.log(b+","+typeof b);//10101111,string

//二进制、八进制->十六进制
var c=parseInt(10101111,2).toString(16);
var d=parseInt(257,8).toString(16);
console.log(c+","+typeof c);//af,string
console.log(d+","+typeof d);//af,string

////二进制、十六进制->八进制
var e=parseInt(10101111,2).toString(8);
var f=parseInt("af",16).toString(8);
console.log(e+","+typeof e);//257,string
console.log(f+","+typeof f);//257,string

//根据需要自行更改值的类型
时间: 2024-08-29 05:52:36

js中基本类型的转换,进制的转换的相关文章

java中整数类型的2进制表示

java中的4种整数类型:byte,short,int,long均采用补码表示. 如下图右边所示 在java中对二进制数没有"字面"表示方法.十六进制可以用OX或者Ox指示,八进制可以用O指示. 下面的代码可以输出byte类型的数据的2进制表示形式: public class Test { public static void main(String[] args) { byte a = -128; test(a); } public static void test(byte m){

js中十进制数转换为16进制

使用 Number类的 toString()方法: var num = 255; console.log(num.toString(16));//输出FF

Java基础知识强化106:Java中如何实现十进制到其他进制的转换

下面是示例代码,我们直接通过JDK工具库中的方法实现的,如下: 1 package com.himi.radix; 2 3 4 /** 5 * Java中如何实现十进制到其他进制的转换 6 * @author hebao 7 * 8 */ 9 public class IntegerToOther { 10 11 public static void main(String[] args) { 12 int n = 14; 13 //十进制转成十六进制: 14 String n0 = Integ

Java中byte与(16进制)字符串的互相转换

java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L).即byte用十六进制表示只占2位. 同理,相反的转换也是将两个16进制字符转换成一个byte,原理同上. 根据以上原理,我们就可以将byte[] 数组转换为16进制字符串了,当

ColorUtil【Color工具类(color整型、rgb数组、16进制互相转换)】

版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 主要用于color整型.rgb数组.16进制互相转换(-12590395 <--> #3FE2C5 <--> [63,226,197]) 效果图 暂不需要 代码分析 color的int类型值转16进制类型值包括两种方案: 方案一:思路:计算&16777215的值,然后通过字符串获取16进制数值. /**Color的Int整型转Color的16进制颜色值[方案一] * colorInt - -12590395 * r

推断js中的类型:typeof / instanceof / constructor / prototype

怎样推断js中的类型呢,先举几个样例: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = new Date(); var f = function(){ alert('jason'); }; 一.最常见的推断方法:typeof typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果,另外typeof能够推断function的类型:在推断除Object类型的对象时

C# 10进制与62进制互转 数据大无压力 10进制与72,96进制任意转换

因项目需要把10进制的ID转换成62进制的字符串,分享给别人. 于是在网上搜索了很多算法,但都未能满足需要,项目里的ID是固定算法算出来的18~20位数据的ulong整型. 如:17223472272256398107,509488277152981097. 网上找的算法问题在于,将ulong的值转换62进制的字符串后,再将字符串转换成ulong值时会不准确. 于是各种测试与假象问题所在,最后确定算法确实没有问题,于是开始怀疑数据类型的问题. 果然,原因是使用了Math.Pow(double x

判断js中的类型:typeof / instanceof / constructor / prototype

如何判断js中的类型呢,先举几个例子: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = new Date(); var f = function(){ alert('jason'); }; 一.最常见的判断方法:typeof typeof是一个一元运算符,它返回的结果始终是一个字符串,对不同的操作数,它返回不同的结果,另外typeof可以判断function的类型:在判断除Object类型的对象时

计算机进制及转换

计算机使用二进制,另外常用的还有八进制.十进制和十六进制. 进制特点及表示方法 (1)二进制:满2进1,0~1表示,在JDK1.7之前程序中不容许定义二进制数字,从JDK1.7开始可以定义.一般以0b/0B作为开头 (1)八进制:满8进1,0~7表示,一般以0作为开头 (1)十进制:满10进1,0~9表示,如果数字前面没有特殊标识,就是十进制 (1)二进制:满16进1,0~9,a~f表示,一般以0x/0X作为开头 进制转换 (1) 十进制向其他进制的转换:除以对应的进制,余数倒排 (2)其他进制