diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs index 37d479e9f..c12bb24a3 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IVUSCalculateService.cs @@ -626,6 +626,11 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { throw new BusinessValidationFailedException(_localizer["IVUS_UploadVisitTaskError"]); } + var digitPlaces = taskinfo.TrialReadingCriterion.DigitPlaces ?? 0; + decimal getdecimalData(string value) + { + return decimal.Parse(decimal.Round(decimal.Parse(value ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString())); + }; List measuredValueList = new List(); @@ -638,8 +643,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate iVUSMeasuredValue = new IVUSMeasuredValue() { PlaqueNum = int.Parse(dataTable.Rows[i]["A"].ToString()), - Emm = decimal.Parse(dataTable.Rows[i]["B"].ToString()), - Lumen = decimal.Parse(dataTable.Rows[i]["C"].ToString()), + Emm = getdecimalData(dataTable.Rows[i]["B"].ToString()), + Lumen = getdecimalData(dataTable.Rows[i]["C"].ToString()), }; } catch (Exception) @@ -703,7 +708,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (taskinfo.TrialReadingCriterion.DigitPlaces != -1) { - var digitPlaces= taskinfo.TrialReadingCriterion.DigitPlaces??0; + emm = decimal.Round(decimal.Parse(emm ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString()); lumen = decimal.Round(decimal.Parse(lumen ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString()); emmSubtractionLumen = decimal.Round(decimal.Parse(emmSubtractionLumen ?? "0"), digitPlaces, MidpointRounding.AwayFromZero).ToString("F" + digitPlaces.ToString());