def change_hex_balance_to_decimal_balance(hex_balance, place=18):
    """Change hex balance to decimal decimal icx balance.
    :param: hex_balance
    :return: result_decimal_icx: string decimal icx
    """
    dec_balance = int(hex_balance, 16)
    str_dec_balance = str(dec_balance)
    if dec_balance >= 10 ** place:
        str_int = str_dec_balance[:len(str_dec_balance) - place]
        str_decimal = str_dec_balance[len(str_dec_balance) - place:]
        result_decimal_icx = f'{str_int}.{str_decimal}'
        return result_decimal_icx
    else:
        zero = '0.'
        val_point = len(str_dec_balance)
        point_difference = place - val_point
        str_zero = '0' * point_difference
        result_decimal_icx = f'{zero}{str_zero}{dec_balance}'
        return result_decimal_icx
