具有2个小数点的字符串的平均值

时间:2013-12-17 02:19:24

标签: c# average

使用C#,我有5个字符串从Arduino板上的温度传感器读取数据:

string currentTemp1 = serialPort1.ReadLine();
Thread.Sleep(1000);
string currentTemp2 = serialPort1.ReadLine();
Thread.Sleep(1000);..... and so on.

这会将值返回到字符串中,例如:19.45,19.45,19.50,19.45,19.50。

我尝试了一些研究来尝试获得平均值,但是我在解决如何将带有2位小数的字符串转换为整数,然后获得平均值时遇到了问题。

有人可以指出我正确的方向。

1 个答案:

答案 0 :(得分:7)

问题是您不希望将字符串解析为整数。你应该使用float / double / decimal:

var temp1 = float.Parse(currentTemp1);
var temp2 = float.Parse(currentTemp2);
var average = (temp1 + temp2) / 2;

或者,如果存在可变数量的整数,则可以使用循环:

var temps = currentTemp1.Split(", ");
float total;
foreach (var t in temps)
{
    total += float.Parse(t);
}
var average = total / temps.Length;