Try something like this:
double x = -12.43; string xStr = x.ToString("+0.#####;-0.#####");
But that would not help display the final decimal point. You can handle such situations using this method:
public static string MyToString(double x) { return x == Math.Floor(x) ? x.ToString("+0;-0;0") + CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator : x.ToString("+0.####;-0.####"); }
source share