Beispiel #1
0
        public override string ToString()
        {
            Normalize();
            var s = Mantissa.ToString();

            if (Exponent != 0)
            {
                var decimalPos = s.Length + Exponent;
                if (decimalPos < s.Length)
                {
                    if (decimalPos >= 0)
                    {
                        s = s.Insert(decimalPos, decimalPos == 0 ? "0." : ".");
                    }
                    else
                    {
                        s = "0." + s.PadLeft(decimalPos * -1 + s.Length, '0');
                    }
                }
                else
                {
                    s = s.PadRight(decimalPos, '0');
                }
            }
            return(s);
        }
Beispiel #2
0
        public string ToString(IFormatProvider provider)
        {
            string s = Mantissa.ToString(provider);

            if (Exponent > 0)
            {
                return(string.Concat(s, "E", Exponent));
            }
            string p = System.Globalization.NumberFormatInfo.GetInstance(provider).NumberDecimalSeparator;

            if (Exponent == 0)
            {
                return(s);
            }
            int decimalPoint = s.Length + Exponent;

            if (decimalPoint <= 0)
            {
                return(String.Format("0{0}{1}{2}", p, new string('0', -decimalPoint), s));
            }
            else
            {
                return(s.Insert(decimalPoint, p));
            }
        }
Beispiel #3
0
        public override string ToString()
        {
            string sign;

            if (Sign)
            {
                sign = "1";
            }
            else
            {
                sign = "0";
            }
            return(sign + " " + Exponent.ToString() + " " + Mantissa.ToString());
        }
Beispiel #4
0
        public string ToString(string formatSpecifier, IFormatProvider format)
        {
            char fmt = NumberFormatting.ParseFormatSpecifier(formatSpecifier, out int digits);

            if (fmt != 'c' && fmt != 'C')
            {
                throw new NotImplementedException();
            }

            Normalize();
            if (Exponent == 0)
            {
                return(Mantissa.ToString(formatSpecifier, format));
            }

            var numberFormatInfo = NumberFormatInfo.GetInstance(format);

            return(BigDecimalFormatter.ToCurrencyString(this, digits, numberFormatInfo));
        }
        public override string ToString()
        {
            string sMantissa = Mantissa.ToString();
            int    iDotPos;
            int    iZeroCount;

            if (Exponent < 0)
            {
                iDotPos = sMantissa.Length + Exponent;
                if (iDotPos > 0)
                {
                    if (iDotPos < sMantissa.Length)
                    {
                        return(string.Concat(sMantissa.Substring(0, iDotPos), ".", sMantissa.Substring(iDotPos)));
                    }
                    else
                    {
                        iZeroCount = iDotPos - sMantissa.Length;
                        if (iZeroCount < 10)
                        {
                            return(sMantissa + new String('0', iZeroCount));
                        }
                    }
                }
                else
                {
                    iZeroCount = -iDotPos;
                    if (iZeroCount < 10)
                    {
                        return(string.Concat("0.", new String('0', iZeroCount), sMantissa));
                    }
                }
            }
            else
            {
                if (Exponent < 10)
                {
                    return(string.Concat(sMantissa, new String('0', Exponent)));
                }
            }
            return(ToExponentString());
        }
Beispiel #6
0
 public override string ToString()
 {
     return(string.Concat(Mantissa.ToString(), "E", Exponent));
 }
Beispiel #7
0
 public override string ToString() => string.Concat(Mantissa.ToString(), "E", Exponent);
 public string ToExponentString()
 {
     return(string.Concat(Mantissa.ToString(), "E", Exponent));
 }