import math


def decimal_to_degrees(num, seps=None):
    """ Given a float value and an optional set of seperators, return a formatted string.

    If the seperator has a precision value required that differs from the default of 2,
    then it should be prefixed with a colon, e.g. 3:$ would give a seperator of a $ character
    after a 3 digit number.

    :param num: The float value to parse
    :param seps: An optional list of seperators to use.
    """
    rv_str = ''
    for sep in seps or [" ", "'", ""]:
        fmt = "{:02.0f}{}" if ':' not in sep else "{{:0{}.0f}}{}".format(*sep.split(':', 1))
        rv_str += fmt.format(math.floor(num), sep)
        num = (num % 1) * 60
    return rv_str.strip()