Метод ToDouble
ToDouble(bytes, startIndex) собирает
double из восьми байт в порядке машины.
Чтобы не подбирать биты вручную, байты берут
из GetBytes
и проверяют round-trip. Порядок зависит от
IsLittleEndian.
Синтаксис
double num = BitConverter.ToDouble(bytes, 0);
Пример
Давайте закодируем 1.0 и прочитаем
обратно:
using System;
using System.Globalization;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(1.0);
double res = BitConverter.ToDouble(data, 0);
Console.WriteLine(res.ToString(CultureInfo.InvariantCulture));
}
}
Результат выполнения кода:
"1"
Пример
Давайте проверим, что буфер содержит
8 байт:
using System;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(1.0);
Console.WriteLine(data.Length);
}
}
Результат выполнения кода:
8
Пример
Давайте round-trip для 12345.5:
using System;
using System.Globalization;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(12345.5);
double res = BitConverter.ToDouble(data, 0);
Console.WriteLine(res.ToString(CultureInfo.InvariantCulture));
}
}
Результат выполнения кода:
"12345.5"
Смотрите также
-
метод
DoubleToInt64Bits,
который даёт битыdoubleкакlong -
метод
GetBytes,
который создаёт байты изdouble -
метод
ToInt64,
который тоже читает восемь байт -
BitConverter,
класс сToDouble