【VS2019 C#】各种数据类型转化

1. byte[] 转 string

byte[] buf = new byte[4];
string ret = System.Text.ASCIIEncoding.Default.GetString(buf);

或者简单点:

char TheCh = (char)buf[i];
string ret = TheCh;

2.string 转 byte[]

string sendValue;
byte[] array = System.Text.ASCIIEncoding.Default.GetBytes(sendValue);

3.u32 装 string

string u32_to_string(UInt32 data)
{
    byte[] buf = new byte[4];
    buf[0] = (byte)data;
    buf[1] = (byte)(data >> 8);
    buf[2] = (byte)(data >> 16);
    buf[3] = (byte)(data >> 24);
    string ret = System.Text.ASCIIEncoding.Default.GetString(buf);
    return ret;
}

4.string转换成int型
int intA = 0;
1.intA =int.Parse(str);
2.int.TryParse(str, out intA);
3.intA = Convert.ToInt32(str);

 

C# int与string转化

1、int-->string

1             int a = 15;
2             string s1 = a.ToString();
3             string s2 = Convert.ToString(a);

2、string -->int

1             string s = "18";
2             int a1 = int.Parse(s);
3             int a2;
4             int.TryParse(s, out a2);
5             int a3 = Convert.ToInt32(s);

c# double转string保留两位小数

double tmp = 3.11415;
string s = tmp.toString(“f2”); 这样就是保留两位小数

 

把内存二进制数据转为double int 等

当用C#写上位机时,经常要与下位机通信,通信协议传来的数据都是byte[] 类型的二进制数据,C语言中,可以很简单地用memcpy来强制转换成相关数据,C#中就没这么方便,可以这样写,如下:

int Acceleration_Max_speed = BitConverter.ToInt32(buf, 0);
double Acceleration_acc_Max = BitConverter.ToDouble(buf, 8);
double Acceleration_Max_rpm = BitConverter.ToDouble(buf, 16);

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,接收串口数据后,你可以使用以下方式进行转化和解析: 1. 读取数据: 首先,你需要创建一个 `SerialPort` 对象,并打开串口连接。然后,使用 `ReadExisting` 或 `ReadLine` 方法读取串口数据。例如: ```csharp SerialPort serialPort = new SerialPort("COM1", 9600); serialPort.Open(); string receivedData = serialPort.ReadExisting(); ``` 2. 解析数据: 解析数据的方式取决于你接收到的数据格式。以下是几个常见的解析方法: - 如果接收到的是文本数据,你可以使用字符串操作或正则表达式来解析数据。例如,假设你接收到的是逗号分隔的数据,你可以使用 `Split` 方法将其拆分为数组: ```csharp string[] dataArray = receivedData.Split(','); foreach (string data in dataArray) { // 处理每个数据项 } ``` - 如果接收到的是二进制数据,你可以使用 `BitConverter` 类来解析。例如,假设你接收到的是一个包含整数和浮点数的字节数组: ```csharp int intValue = BitConverter.ToInt32(receivedData, 0); // 解析整数 float floatValue = BitConverter.ToSingle(receivedData, sizeof(int)); // 解析浮点数 ``` - 如果接收到的是自定义的数据格式,你需要根据数据的规则进行解析。你可以使用位运算、结构体或类来解析数据。 请注意,以上只是一些常见的解析方法,实际情况可能因数据类型和格式而异。你需要根据你接收到的具体数据来选择适合的解析方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值