20200110 C#中一些进制和字符类型之间的转换方法

到公司两天,开始编写C#程序,还是之前的验布机

现在写程序遇到的问题主要是有关于协议的解析,要在二进制、十进制、十六进制,int、double、string、byte之间进行转换,下面就记录一下这两天用到的转换的一些函数和自带方法。

十进制转十六进制(int类型的十进制  转  string类型的十六进制)

string perimeter_OX = Convert.ToString(perimeter_int, 16);

十六进制转成字节

hexstring    //十六进制的字符串

public static byte[] strToHexByte(string hexString) {
if ((hexString.Length % 2) != 0){
hexString = hexString.Insert(0, 0.ToString()); //如果长度为奇,在开头补零
}
byte[] returnBytes = new byte[hexString.Length / 2];//byte[]数组
for (int i = 0; i < returnBytes.Length; i++){
returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);//每两个字符转byte,放入数组元素中。
}
return returnBytes;
}

十六进制字符串长度不够(从左边补零,例0x210补成0x0210)

string perimeter_OX = 0x210;

string perimeter_string = perimeter_OX.PadLeft(4, '0');//从左补齐0

字符串转double类型

double coefficient_double = Double.Parse(txTextBox3.Text)*100000 

截取字符串指定长度的字符(string"123456"截取"23")

string Num = "123456";

Num.Substring(1,2);         //Substring中第二个s必须小写

posted on 2020-01-10 11:15  恋依0  阅读(290)  评论(0)    收藏  举报