public static Quantity operator -(Quantity arg1, Quantity arg2)
{
StandardUnit unit1 = arg1.Unit;
StandardUnit unit2 = arg2.Unit;
if (unit1 == null && unit2 != null)
{
unit1 = unit2.Clone() as StandardUnit;
}
string prefix1 = unit1 == null ? "" : unit1.Prefix;
string prefix2 = unit2 == null ? "" : unit2.Prefix;
double value1 = arg1.Value;
double value2 = arg2.Value;
if (prefix1 != null)
{
value1 *= StandardPrefixes.Multiplier(prefix1);
}
if (prefix2 != null)
{
value2 *= StandardPrefixes.Multiplier(prefix2);
}
double value = value1 - value2;
if (prefix1 != null)
{
value /= StandardPrefixes.Multiplier(prefix1);
}
var q = new Quantity(Convert.ToDecimal(value));
if (unit1 != null)
{
q.Unit = unit1.Clone() as StandardUnit;
}
return(q);
}