コード例 #1
0
        public static double ConvertUnit(IUnit sourceUnit, IUnit destinationUnit, double valueToConvert)
        {
            // check if they are the same type
            if (sourceUnit == destinationUnit) return valueToConvert;

            // if we are converting zero, it's zero
            if (valueToConvert == 0) return 0;

            // convert sourceUnits to base
            var baseValue = sourceUnit.ConvertToBaseUnit(valueToConvert);

            // convert base to destination
            var destination = destinationUnit.ConvertFromBaseUnit(baseValue);

            return destination;
        }