到公司两天,开始编写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必须小写
浙公网安备 33010602011771号