Zaokrąglanie do dowolnej liczby cyfr znaczących

Jak zaokrąglić dowolną liczbę (nie tylko liczby całkowite> 0) do N cyfr znaczących? Na przykład, jeśli chcę zaokrąglić do trzech cyfr znaczących, szukam formuły, która mogłaby przyjąć: 1 239 451 i zwraca 1 240 000 12.1257 i powrót 12.1 .0681 i zwraca .0681 5 i wróć 5 Naturalnie algorytm...