def numeric_metallicity_to_string(metallicity):
    """
    Convert numeric form of cgs metallicity (M/H units) to string used in castelli-kurucz 04,
    kurucz 93 and van-hamme limb darkening table names.

    :param metallicity: float
    :return: str
    """
    sign = 'p' if metallicity >= 0 else 'm'
    leadzeronum = '%02d' % (metallicity * 10
        ) if metallicity >= 0 else '%02d' % (metallicity * -10)
    return '{sign}{leadzeronum}'.format(sign=sign, leadzeronum=leadzeronum)
