def endf_float_str(value):
    """
    Return the ENDF format string of a floating point number

    Parameters
    ----------
    value : float
        A single floating point value

    Returns
    -------
    valstring : str
        An ENDF format string of input par `value`
    """
    if(abs(value) < 1e-9 or abs(value) > 9.999e9):
        raise ValueError("value is too small or too big")
    valstring = "{:>13.6e}".format(value).replace('e','').replace('+0','+').replace('-0','-')
    # with AMPX written files we use "-0" instead of "+0" for some reason
    if( '+0' in valstring ):
        valstring = valstring.replace('+0','-0')
    return valstring