Microsoft (R) Roslyn C# Compiler version 1.3.1.60621
> double d = 123456789123456789.12345;
> d.ToString()
"1,23456789123457E+17"
> d.ToString("F")
"123456789123457000,00"
To miałeś na myśli?
Jeśli pytasz o zera, to liczby zmiennoprzecinkowe z definicji mają ograniczoną precyzję, co widać tutaj.