日期:2014-05-18 浏览次数:21660 次
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;
}
------解决方案--------------------
顶一下!!