String.Format - ¿Cómo puedo formatear a x dígitos (independientemente de la posición decimal)?

Necesito formatear un número de punto flotante para x caracteres (6 en mi caso, incluido el punto decimal). Mi salida también debe incluir el signo del número

Así que dadas las entradas, aquí están las salidas esperadas

1.23456   => +1.2345

-12.34567 => -12.345

-0.123456 => -0.1234

1234.567  => +1234.5

Por favor, suponga que siempre hay un lugar decimal antes del último carácter. Es decir. no habrá12345.6 entrada de número: la entrada siempre será menor o igual que9999.9.

Estoy pensando que esto debe hacerse condicionalmente.

Respuestas a la pregunta(7)

Su respuesta a la pregunta