protected virtual decimal ConvertValue(decimal value, string from, string to) { if (from == to) { return(value); } bool reverse = false; INUnit unit = INUnit.UK.ByGlobal.Find(Base, from, to); if (unit == null) { unit = INUnit.UK.ByGlobal.Find(Base, to, from); reverse = true; } if (unit == null) { throw new PXException(IN.Messages.ConversionNotFound, from, to); } decimal result = INUnitAttribute.ConvertValue(value, unit, INPrecision.NOROUND, reverse); return(decimal.Round(result, 6, MidpointRounding.AwayFromZero)); }