C#_常用的数据转换_int_string_byte
前言:数据处理是目前程序员主要想办法干的事情了,数据转换例如string->int,int->byte等等
1、uint16转换成byte
2、uint32转换成byte
3、字符串转换成int
4、判断一个字符串能否转换成int或是double
5、byte转换成int
6、byte转成16进制字符串
7、ushort转16进制字符串
8、byte转ushort
9、格式化拼字符串
uint16转换成byte
UInt16 Value = 0x1234;
data[5] = (byte)Convert.ToUInt16(Value.ToString(), 16);
data[6] = (byte)(Convert.ToUInt16(Value.ToString(), 16) >> 8);
uint32转换成byte
UInt32 Value = 0x12345678;
data[9] = (byte)Convert.ToUInt32(Value.ToString());
data[10] = (byte)(Convert.ToUInt32(Value.ToString()) >> 8);
data[11] = (byte)(Convert.ToUInt32(Value.ToString()) >> 16);
data[12] = (byte)(Convert.ToUInt32(Value.ToString()) >> 24);
字符串转换成int
//此处是将波特率字符串转换成int型(去掉字符串前后的空白)
serialPort.BaudRate = Convert.ToInt32(cbxBaudRate.Text.Trim());
判断一个字符串能否转换成int或是double
int baudrate = 0;
if(int.TryParse(cbxBaudRate.Text, out baudrate))
{
Console.WriteLine("可以转换");
}
double baudrate = 0;
if(double.TryParse(cbxBaudRate.Text, out baudrate))
{
Console.WriteLine("可以转换");
}
byte转换成int
byte[] tlv = new byte[data_length];
int value = (tlv[a + 4] + (tlv[a + 5] * 256) + (tlv[a + 6] * 256 * 256) + (tlv[a + 7] * 256 * 256 * 256)); //获取value的数据
byte转成16进制字符串
ushort type_tagid = (ushort)(tlv[1] + (tlv[2] * 256));
Console.WriteLine(Convert.ToString(type_tagid, 16)); //打印出来就是16进制字符串
ushort转16进制字符串
ushort type_tagid = 1234;
Console.WriteLine(Convert.ToString(type_tagid, 16));
byte转ushort
ushort type_tagid = (ushort)(tlv[1] + (tlv[2] * 256));
格式化拼字符串
string str = string.Format("通信正常({0},{1},{2},{3},{4})\r\n",
serialPort.PortName, serialPort.BaudRate, serialPort.Parity, (int)serialPort.DataBits,
(float)serialPort.StopBits);