日期:2014-05-18 浏览次数:21673 次
        static double GetDoubleFromString(string input)
        {
            bool negative = false;
            if (input[0] == '1')
            {
                negative = true;
                StringBuilder sb = new StringBuilder();
                foreach (char c in input)
                    sb.Append(c == '0' ? "1" : "0");
                input = Convert.ToString(Convert.ToInt32(sb.ToString(), 2) + 1, 2).PadLeft(input.Length, '0');
            }
            string integers = input.Substring(1, input.Length - 5);
            double result = Convert.ToInt32(integers, 2);
            for (int i = input.Length - 4; i < input.Length; i++)
            {
                if (input[i] == '1')
                    result += Math.Pow(2, -(input.Length - i));
            }
            return negative ? -result : result;
        }
------解决方案--------------------
顶一下!!