def format_float(x, precision=None):
    """
    Format float in a portable manner, standardizing the
    number of digits in the exponent.
    """
    if not type(x) is float:
        raise TypeError('Argument ' + str(x) + ' is not a float')
    tmp = str(x)
    if not ('E' in tmp or 'e' in tmp):
        return tmp
    if '+' in tmp:
        sign = '+'
    else:
        sign = '-'
    lst = tmp.split(sign)
    if lst[0] == '' and len(lst) >= 2:
        lst[1] = sign + lst[1]
        lst = lst[1:]
    if abs(x) <= 1e-100 or abs(x) >= 1e+100:
        return tmp
    else:
        i = 0
        while lst[1][i] == '0':
            i += 1
        return lst[0] + sign + lst[1][i:]
