예제 #1
0
        public static string GetSiPrefix(this PowerOfTenMultiplier multiplier)
        {
            switch (multiplier)
            {
            case PowerOfTenMultiplier.micro:
                return("μ");

            case PowerOfTenMultiplier.mili:
                return("m");

            case PowerOfTenMultiplier.None:
                return(string.Empty);

            case PowerOfTenMultiplier.deca:
                return("da");

            case PowerOfTenMultiplier.hecto:
                return("h");

            case PowerOfTenMultiplier.kilo:
                return("k");

            case PowerOfTenMultiplier.Mega:
                return("M");

            case PowerOfTenMultiplier.Giga:
                return("G");

            default:
                return(string.Empty);
            }
        }
예제 #2
0
        public static string GetDisplayValue(this long?value, Uom uom, PowerOfTenMultiplier multiplier, int scaler)
        {
            if (value == null)
            {
                return(string.Empty);
            }

            return(value.Value.GetDisplayValue(uom, multiplier, scaler));
        }
예제 #3
0
        public static string GetDisplayUnit(this Uom?uom, PowerOfTenMultiplier multiplier)
        {
            if (uom == null)
            {
                return(string.Empty);
            }

            return(uom.Value.GetDisplayUnit(multiplier));
        }
예제 #4
0
 public static string GetDisplayValue(this long value, Uom uom, PowerOfTenMultiplier multiplier, int scaler)
 {
     if (multiplier == PowerOfTenMultiplier.None && uom == Uom.Real_energy)
     {
         scaler = scaler - 3;
         decimal scaledValue = scaler != 0 ? value * (decimal)Math.Pow(10, scaler) : value;
         return(scaledValue.ToString(scaler < 0 && scaler >= -9 ? DecimalFormatLookup[scaler * -1] : "N", CultureInfoDe));
     }
     else
     {
         decimal scaledValue = scaler != 0 ? value * (decimal)Math.Pow(10, scaler) : value;
         return(scaledValue.ToString(scaler < 0 && scaler >= -9 ? DecimalFormatLookup[scaler * -1] : "N", CultureInfoDe));
     }
 }
예제 #5
0
        public static string GetDisplayUnit(this Uom uom, PowerOfTenMultiplier multiplier)
        {
            if (uom == Uom.Not_Applicable)
            {
                return(string.Empty);
            }

            // Special case for Wh --> return kWh
            if (multiplier == PowerOfTenMultiplier.None && uom == Uom.Real_energy)
            {
                return("kWh");
            }

            return(multiplier.GetSiPrefix() + uom.GetUnitSymbol());
        }