def _extractsigfmt(numstr):
    """Find a standard float formatter from a string.
    
    From a string representing a float, find the number of significant
    digits and return a string formatter to standardize its
    representation.
    """
    # Simple necessary exception: some zeroes are really zero
    if numstr == '0.0\n' or numstr == '0.\n':
        fmt = '{:3.1f}'
        return fmt
    
    # Pull out only the digits part of an exponential-format float
    digs = numstr.lower().rstrip('\n').split('e')[0]
    # Separate decimal point, remove leading sign and zeroes
    res = digs.split('.')
    if len(res) == 1:
        l, r = res, ''
    elif len(res) > 2:
        errmsg = ('Multiple decimal points in input string {:s}').format(numstr)
        raise ValueError(errmsg)
    else:
        l, r = res
    l = l.lstrip(' +-0')
    if l == '':
        r = r.lstrip('0')
    nos = l + r
    
    # What's left should only be the significant numbers
    if not nos.isnumeric():
        errmsg = ('Splitting did not result in the expected format. '
            'Wanted only numbers, got {:s}').format(nos)
    nsig = len(nos)
    
    # Create formatter from number of significant digits
    fmt = '{:+' + '{0:d}.{1:d}'.format(nsig+6,nsig-1) + 'e}'
    return fmt