Округление до произвольного количества значащих цифр

Как можно округлить любое число (не только целые числа> 0) до N значащих цифр? Например, если я хочу округлить до трех значащих цифр, я ищу формулу, которая могла бы принимать: 1,239,451 и доход 1,240,000 12.1257 и возврат 12.1 .0681 и возврат .0681 5 и возврат 5 Естественно, алгоритм не должен...