private static double GetBaseValue(double value, MonetaryTypes monetaryType) { if (monetaryType == MonetaryTypes.Base) return value; else return (value * Math.Pow(10, (int)monetaryType)); }
public double GetMonetaryValue(out MonetaryTypes monetaryType) { return GetMonetaryValue(Value, MonetaryTypes.Base, out monetaryType); }
public static double GetMonetaryValue(double originalValue, MonetaryTypes originalMonetaryType, out MonetaryTypes idealMonetaryType) { double currentValue = 0; MonetaryTypes[] monetaryTypes = (MonetaryTypes[])Enum.GetValues(typeof(MonetaryTypes)); idealMonetaryType = monetaryTypes[monetaryTypes.Length - 1]; double actualValue = GetBaseValue(originalValue, originalMonetaryType); for (int i = 0; i < monetaryTypes.Length; i++) { currentValue = GetMonetaryValue(actualValue, MonetaryTypes.Base, monetaryTypes[i]); if (!double.IsInfinity(currentValue) /*&& currentValue >= 1d*/ && currentValue < 1000) { idealMonetaryType = monetaryTypes[i]; break; } } return currentValue; }
public MonetaryValueDisplay(double value, MonetaryTypes monetaryType) { this.value = (value * Math.Pow(10, (int)monetaryType)); }
public static double GetMonetaryValue(double originalValue, MonetaryTypes originalMonetaryType, MonetaryTypes desiredMonetaryType) { double actualValue = GetBaseValue(originalValue, originalMonetaryType); return actualValue / Math.Pow(10, (int)desiredMonetaryType); }