使用C#,我有5个字符串从Arduino板上的温度传感器读取数据:
string currentTemp1 = serialPort1.ReadLine();
Thread.Sleep(1000);
string currentTemp2 = serialPort1.ReadLine();
Thread.Sleep(1000);..... and so on.
Run Code Online (Sandbox Code Playgroud)
这会将值返回到字符串中,例如:19.45,19.45,19.50,19.45,19.50.
我已经尝试了一些研究来试图获得平均值,但是我在解决如何将带有2位小数的字符串转换为整数,然后获得平均值时遇到了问题.
有人可以指出我正确的方向.
问题是您不希望将字符串解析为整数.您应该使用float/double/decimal:
var temp1 = float.Parse(currentTemp1);
var temp2 = float.Parse(currentTemp2);
var average = (temp1 + temp2) / 2;
Run Code Online (Sandbox Code Playgroud)
或者,如果存在可变数量的整数,则可以使用循环:
var temps = currentTemp1.Split(", ");
float total;
foreach (var t in temps)
{
total += float.Parse(t);
}
var average = total / temps.Length;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
709 次 |
| 最近记录: |