import decimal


def float_to_str(f):
    """Convert the given float to a string, without resorting to scientific notation.

    :param float f: number

    :returns: string representation of the float
    :rtype: str
    """

    # From: https://stackoverflow.com/questions/38847690/convert-float-to-string-without-scientific-notation-and-false-precision

    # create a new context for this task
    ctx = decimal.Context()

    # 20 digits should be enough for everyone :D
    ctx.prec = 20

    d1 = ctx.create_decimal(repr(f))
    return format(d1, 'f')