Redondeo a un número arbitrario de dígitos significativos

Como puedes redondearalguna ¿Número (no solo enteros> 0) a N dígitos significativos?

Por ejemplo, si quiero redondear a tres dígitos significativos, estoy buscando una fórmula que podría tomar:

1,239,451 y devolución 1,240,000.

12.1257 y regreso 12.1

.0681 y devolución .0681

5 y retorno 5

Naturalmente, el algoritmo no debe ser codificado para manejar solo N de 3, aunque eso sería un comienzo.

Respuestas a la pregunta(17)

Su respuesta a la pregunta