3

Есть строка "1.260", с помощью Double.Parse("1.260") получается число double 1.26.

Как сделать так, чтобы после парсинга 0 на конце остался, и мы получили переменную double a = 1.260?

Gikas
  • 466

1 Answers1

5

Значение 1.260 хранится в памяти как

00111111 11110100 00101000 11110101
11000010 10001111 01011100 00101001

0 на конце существует только в десятичном строковом представлении числа. Собственно, его вы и видите в отладчике. Его же вы видите при выводе, например, на консоль:

Console.WriteLine(1.26); // 1.26

если вам нужно получить ровно 3 символа после точки в строковом представлении - вы должны явно указать это при преобразовании числа обратно в строку:

string stringRepresentation = 1.26.ToString("0.000"); //  1.26 ->  "1.260"
Console.WriteLine(stringRepresentation);

или

Console.WriteLine("{0:0.000}", 1.26);  // 1.260

подробно особенности форматирования чисел расписаны в MSDN, в статье Строки настраиваемых числовых форматов.