def scale(n, float_round=None):
    """
    High-order function to scale result to arbitrary value.

    f = scale(10)
    f(5) -> 50
    if float_round
    f = scale(0.1, 2)
    f(10) -> 10.2

    :param n: Scaling factor
    :param float_round: Number of decimal places
    :return: Callable, performing scaling
    :return: If float_round, return round value
    """

    def inner(v):
        return v * n

    def inner_round(v):
        return round(v * n, float_round)

    if float_round is not None:
        return inner_round

    return inner