using JiShe.CollectBus.Common.Extensions; using JiShe.CollectBus.Protocol.Contracts.Interfaces; namespace JiShe.CollectBus.Protocol.AnalysisData.Appendix { public class Appendix_A7 : IAnalysisStrategy, decimal> { public async Task ExecuteAsync(List 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); } } }