/// <summary> /// Initializes a new instance of the <see cref="WaterContent"/> class. /// </summary> /// <param name="solidWeight">W_s in w=W_w/W_s.</param> /// <param name="waterWeight">W_w in w=W_w/W_s.</param> public WaterContent(WeightOfSolidMatter solidWeight, WeightOfWater waterWeight) { this.Symbol = "w"; var converted = BaseWeightScalar.ConvertToUnits(solidWeight, waterWeight.UnitOfMeasure); this.NumericValue = waterWeight.NumericValue / converted.NumericValue; }
/// <summary> /// Unit Weight conversion function from Metric to Metric, Metric to English, or vice versa. /// </summary> /// <param name="toConvert">Original, operating, weight.</param> /// <param name="toConvertTo">Measurement unit to convert into (ie kg).</param> /// <returns>A new weight with correct type and numeric value.</returns> public static BaseWeightScalar ConvertToUnits(BaseWeightScalar toConvert, WeightUnits toConvertTo) { if (toConvert.UnitOfMeasure == toConvertTo) { return(toConvert); } double newVal = toConvert.NumericValue; if (toConvert.UnitOfMeasure == WeightUnits.Grams && toConvertTo == WeightUnits.Kilograms) { newVal /= 1000.0; } else if (toConvert.UnitOfMeasure == WeightUnits.Grams && toConvertTo == WeightUnits.Pounds) { newVal /= 453.592; } else if (toConvert.UnitOfMeasure == WeightUnits.Kilograms && toConvertTo == WeightUnits.Pounds) { newVal *= 2.205; } else if (toConvert.UnitOfMeasure == WeightUnits.Kilograms && toConvertTo == WeightUnits.Grams) { newVal *= 1000.0; } else if (toConvert.UnitOfMeasure == WeightUnits.Pounds && toConvertTo == WeightUnits.Grams) { newVal *= 453.592; } else if (toConvert.UnitOfMeasure == WeightUnits.Pounds && toConvertTo == WeightUnits.Kilograms) { newVal /= 2.205; } BaseWeightScalar toReturn = new BaseWeightScalar(toConvert.Symbol, newVal, toConvertTo); return(toReturn); }