添加 double 类型的变量值

This commit is contained in:
2025-09-13 08:24:06 +08:00
parent c173ab08d3
commit 5a39796f0e
5 changed files with 120 additions and 0 deletions

View File

@@ -99,6 +99,40 @@ public class Variable
/// </summary>
public string DataValue { get; set; }
/// <summary>
/// 存储从设备读取到的最新数值。如果原始值是布尔类型则True转换为1.0False转换为0.0。
/// 此属性不应持久化到数据库,仅用于运行时。
/// </summary>
public double NumericValue { get; set; }
/// <summary>
/// 更新数值属性根据DataValue的值进行转换。
/// </summary>
public void UpdateNumericValue()
{
if (string.IsNullOrEmpty(DataValue))
{
NumericValue = 0.0;
return;
}
// 尝试将字符串转换为数值
if (double.TryParse(DataValue, out double numericValue))
{
NumericValue = numericValue;
}
// 如果是布尔值
else if (bool.TryParse(DataValue, out bool boolValue))
{
NumericValue = boolValue ? 1.0 : 0.0;
}
// 如果无法转换保持为0.0
else
{
NumericValue = 0.0;
}
}
/// <summary>
/// 变量的通讯协议。
/// </summary>