28 lines
993 B
C#

using JiShe.CollectBus.Common.Extensions;
using JiShe.CollectBus.Protocol.Interfaces;
namespace JiShe.CollectBus.Protocol.T37612012.AnalysisData.Appendix
{
public class Appendix_A7 : IAnalysisStrategy<List<string>, decimal>
{
public async Task<decimal> ExecuteAsync(List<string> data)
{
decimal value = 0.0M;
string binString = string.Empty;
if (data[0].Check3761Byte())
{
binString = data[0].HexTo4BinZero();
value += (binString.Substring(0, 4).BinToDec() / 1M) + (binString.Substring(4, 4).BinToDec() / 10M);
}
if (data[1].Check3761Byte())
{
binString = data[1].HexTo4BinZero();
if (binString.Check3761Byte())
value += (binString.Substring(0, 4).BinToDec() * 100M) + (binString.Substring(4, 4).BinToDec() * 10M);
}
return await Task.FromResult(value);
}
}
}