Try this:
var value = 52.30298270000003;
var str = string.Format("{0} some text...", value.ToString("R"));
Console.WriteLine(str); // output: 52.3029827
The MSDN documnetation has the following to say about the ToString
method of Singles and Doubles and using ToString("R")
:
By default, the return value only contains 7 digits of precision
although a maximum of 9 digits is maintained internally. If the value
of this instance has greater than 7 digits, ToString(String) returns
PositiveInfinitySymbol or NegativeInfinitySymbol instead of the
expected number. If you require more precision, specify format with
the "G9" format specification, which always returns 9 digits of
precision, or "R", which returns 7 digits if the number can be
represented with that precision or 9 digits if the number can only be
represented with maximum precision.