2.5 数据类型转换与进制转换

Posted CS讷于言而敏于行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.5 数据类型转换与进制转换相关的知识,希望对你有一定的参考价值。

2.5.1    数值类型转换

源类型

目标类型

转换方法

示例

bool、byte、char、double、decimal、float、long、short、sbyte、string、uint、ulong、ushort

int

Convert.ToInt32(Type value)

int num = Convert.ToInt32("30");

 

string

int

int.Parse(string s)

int num = int.Parse("20");

 

string

int

int.TryPase(string s,out int result)

int num = 0;
if (int.TryParse("20", out num))
{
    //类型转化成功,变量num中的值为20;
}
else
{
    //类型转化失败,变量num中的值为0;
}

 

bool、byte、char、DateTime、decimal、double、float、int、long、sbyte、short、uint、ulong、ushort

string

Type.ToString()

ushort sh = 9;
Console.WriteLine(sh.ToString());

 

char[]

string

new string()

char[] ch = new char[] { a, b, c,d };
string str = new string(ch);

 

byte[]

string

Encoding.Default.GetString()

byte[] by = { 97, 98, 99, 100 };
string str = Encoding.Default.GetString(by);

 

byte、decimal、double、float、int、long、sbyte、short、string、uint、ulong、ushort

bool

Convert.ToBoolean()

string str = "false";
int i = 20;//零为False,非零为True
bool bo = Convert.ToBoolean(str);
bool bo2 = Convert.ToBoolean(i);

 

string

char[]

s.ToArray();

s.ToCharArray()

string str = "abcd";
char[] res;
res = str.ToArray();
res = str.ToCharArray();

 

byte[]

char[]

Encoding.Default.GetChars()

byte[] by = { 30, 49, 9 };
char[] res = Encoding.Default.GetChars(by);

 

string

byte[]

Encoding.Default.GetBytes()

string str = "abcd";
byte[] res = Encoding.Default.GetBytes(str);

 

char[]

byte[]

Encoding.Default.GetBytes()

char[] ch = { a, b, c };
byte[] res = Encoding.Default.GetBytes(ch);

 

2.5.2    进制转换

 1             //二进制-->十进制
 2             Console.WriteLine(Convert.ToInt32("1010", 2));//10
 3             //八进制-->十进制
 4             Console.WriteLine(Convert.ToInt32("21", 8));//17
 5             //十六进制-->十进制
 6             Console.WriteLine(Convert.ToInt32("32", 16));//50
 7             Console.WriteLine(Convert.ToInt32("0x00000032", 16));//50
 8 
 9             //十进制-->二进制
10             Console.WriteLine(Convert.ToString(20, 16));//14
11             Console.WriteLine(242.ToString("X"));//F2
12             Console.WriteLine(242.ToString("X8"));//000000F2
13             Console.WriteLine(242.ToString("x"));//f2
14             Console.WriteLine(242.ToString("x8"));//000000f2
15             //十进制-->八进制
16             Console.WriteLine(Convert.ToString(15,8));//17
17             //十进制-->二进制
18             Console.WriteLine(Convert.ToString(10, 2));//1010

 

以上是关于2.5 数据类型转换与进制转换的主要内容,如果未能解决你的问题,请参考以下文章

2.5数据类型的转换

在代码片段中包含类型转换

指针与强制类型转换

常量与变量的数据类型转换

Silverlight 中的十进制转换器无法正确处理丢失焦点

c_cpp C片段将十进制转换为二进制